2016-03-27 3 views
0

Я делаю этот чат в html/css/php/js до сих пор его хорошо, но ему нужно много работы url here У меня много php в нем и некоторый javascript, и я бы хотел знают, как связать внешний JS файл я думал, что я сделал, но он не работает я попробовал методВнешний скрипт js

<script src="script.js" type="text/javascript">

, но это не похоже, работает

здесь код в моем файле JS

var something = document.getElementById('gamerchat'); 

something.style.cursor = 'pointer'; 
something.onclick = function() { 
window.location = 'http://billischill.ddns.net/gamerchat.php' 
}; 

var something = document.getElementById('Techroom'); 

something.style.cursor = 'pointer'; 
something.onclick = function() { 
window.location = 'http://billischill.ddns.net/spygame/spygame.html' 
}; 

и вот вся моя страница:

<div id="sidebarright"> 
<div id="defaultchat"class="list"><p>Default Room<p></div> 
<div id="gamerchat"class="list"><p>Gamer Chat<p></div> 
<div id="Techroom"class="list"><p>Tech Room<p></div> 
<ul> 

</div> 

<script src="script.js" type="text/javascript"></script> 
<? 
session_start(); 

if(isset($_GET['logout'])){ 

//Simple exit message 
$fp = fopen("log.html", 'a'); 
fwrite($fp, "<div class='msgln'><i>User ". $_SESSION['name'] ." has left the chat session.</i><br></div>"); 
fclose($fp); 

session_destroy(); 
header("Location: index.php"); //Redirect the user 
} 

function loginForm(){ 
echo' 
<div id="loginform"> 
<form action="index.php" method="post"> 
    <p>Please enter your name to continue:</p> 
    <label for="name">Name :</label> 
    <input type="text" name="name" id="name" /></br></br> 
    <label for="adminpass">Admin?</label> 
    <input type="text" name="adminpass" /></br></br> 
    <input type="submit" name="enter" id="enter" value="Enter" /> 
</form> 
</div> 
'; 
} 

if(isset($_POST['enter'])){ 
if($_POST['name'] != ""){ 
    $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name'])); 
} 
else{ 
    echo '<span class="error">Please type in a name</span>'; 
} 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Chat - BillIsChill Network</title> 
<link type="text/css" rel="stylesheet" href="style.css" /> 
</head> 


<?php 
if(!isset($_SESSION['name'])){ 
loginForm(); 
} 
else{ 
?> 

<div id="wrapper"> 
<div id="menu"> 
    <p class="welcome">Welcome, <b><?php echo $_SESSION['name']; ?>  </b></p> 
    <p class="logout"><a id="exit" href="#">X</a></p> 
    <div style="clear:both"></div> 
</div> 
<div id="chatbox"><?php 
if(file_exists("log.html") && filesize("log.html") > 0){ 
    $handle = fopen("log.html", "r"); 
    $contents = fread($handle, filesize("log.html")); 
    fclose($handle); 

    echo $contents; 
} 
?></div> 

<form name="message" action=""> 
    <input name="usermsg" type="text" id="usermsg" size="63" /> 
    <input name="submitmsg" type="submit" id="submitmsg" value="Send" /> 
    </form> 
    </div> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js">  </script> 
    <script type="text/javascript"> 
    // jQuery Document 
    $(document).ready(function(){ 
    //If user submits the form 
    $("#submitmsg").click(function(){ 
    var clientmsg = $("#usermsg").val(); 
    $.post("post.php", {text: clientmsg});    
    $("#usermsg").attr("value", ""); 
    return false; 
    }); 

    //Load the file containing the chat log 
    function loadLog(){  
    var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20; 
    $.ajax({ 
     url: "log.html", 
     cache: false, 
     success: function(html){   
      $("#chatbox").html(html); //Insert chat log into the  #chatbox div    
      var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20; 
      if(newscrollHeight > oldscrollHeight){ 
       $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div 
      }    
     }, 
     }); 
     } 
     setInterval (loadLog, 2500); //Reload file every 2.5 seconds 

     //If user wants to end session 
     $("#exit").click(function(){ 
     var exit = confirm("Are you sure you want to end the session?"); 
     if(exit==true){window.location = 'index.php?logout=true';}  
     }); 
     }); 



     <?php 
     } 
     ?> 
     </body> 

+0

является script.js в той же папке, что и скрипт, если так добавить косую черту в script.js . если не «/script.js» не указывает на файл. Убедитесь, что расположение файла в src верное. – gmfm

+0

@nik hendricks, какой метод не работает? –

+0

Не похоже, что вы действительно включили этот скрипт. На вашей странице нет элемента 'script'. Также разметка - беспорядок. Вы действительно должны убедиться, что ваша страница является допустимым HTML-документом. – Xufox

ответ

0

Это должно быть достаточно, чтобы загрузить файл.

<script src="/path/to/javascript/file.js" type="text/javascript"> 

Однако он должен быть полностью загружен, чтобы вызвать любые функции в нем. просто потому, что страница загружена и отображена, не означает, что все остальные нереализованные элементы полностью загружены. Есть несколько стратегий, которые вы могли бы использовать для проверки этого.

Вы можете проверить, если функция, объявленная в файле имеется

function isFunction(fn){ 
    return typeof fn == 'function' 
} 

или с помощью JQuery

jQuery.isFunction(YourFunction) 

Вы также можете использовать этот

$(document).ready(function(){ 
    //your stuff here 
} 

Имейте в виду, если вы загрузили jQuery в режиме «без конфликтов», вы будете использовать jQuery вместо $.

Надеется, что это помогает,

Tim

Смежные вопросы