2011-09-30 188 views
0

我似乎無法得到這個工作。我有一個小JS文件,根據一天的時間切換橫幅,但似乎在我的PHP文件中做外部參考不起作用。它在HTML頁面中工作正常。我可以在PHP文件中引用外部JavaScript文件嗎?

這是JavaScript文件中的代碼。

function getStylesheet() { 
    var currentTime = new Date().getHours(); 
    if (7 <= currentTime && currentTime < 19) { 
     document.write("<img src='images/banner_day.jpg'>"); 
    } else { 
     document.write("<img src='images/banner_night.jpg'>"); 
    } 
} 

getStylesheet(); 

這裏是我用來調用JavaScript文件的參考碼。它在一個PHP文件中。 PHP頁面上

<script src="http://beta.website.com/wp-content/themes/theme/scripts/banner.js"></script> 

一切都顯示了在瀏覽器中,除了的,我試圖用腳本調用旗幟


這是整個PHP文件代碼。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
</head> 
<body> 
<div id="main"> 
<div class="container"> 
<div id="header"> 
<div id="logo"> 
<a href="http://bifffffdggdch.com"><img src="http://beta.dfdfdf.com/wp-content/themes/asdafd/images/logo.png" /></a> 
</div> 
<div id="shadow2"></div> 
<div id="shadow1"></div> 
<ul id="menu"> 
<li><a href="">df</a></li> 
<li><a href="">df</a></li> 
<li><a href="">fd df df</a></li> 
<li><a href="">The asfdssd asdfds</a></li> 
<li><a href="">sf</a></li> 
<li><a href="">df</a></li> 
<li><a href="">dfd</a></li> 
</ul> 
<div id="slogan"><big>"fasfdsads2005."</big></div> 
<div id="loginDiv">Login Panel Here</div> 
</div> 
<div id="banner"> 
<script src="http://beta.adsfasfasfd.com/wp-content/themes/adfadsf/scripts/banner.js"></script></div> 
<div class="sidebar"> 
Sidebar Content<br /> 
<br /><br /> 

blah 
blah 
blah 
</div> 

<div class="content"> 
Main Content 

<br /> 
<br /> 
<br /> 

<br /> 
<br /> 
<br /> 

</div> 

<div id="footer"> 
<div class="container"> 
     <div class="footer_column long"> 
      <h3>Cadsfadsfafdfsd.com All Rights Reserved</h3> 
      <p>dsafasdfdffadffadsdafsdfsadafsdfsadfas</p> 
     </div> 
     <div class="footer_column2"> 
       <h3>More Links</h3> 
       <ul> 
       <li><a href="http://aadfsdfsdfa. 
       com">asfsdfa</a></li> 
       <li><a href="http://ItsNotch. 
       com">ItsNotch</a></li> 
       <li><a href="http://adfasfsfaf. 
       com">adsfasf</a></li> 
       <li><a href="http://twitter. 
       com/safs">Twitter</a></li> 
       <li><a href="https://www.facebook.com/group.php?gid=10215yy20340498">Facebook Fan Page 
       </a></li> 
       </ul> 
     </div> 
     <div class="footer_column2"> 
       <h3>RSS</h3> 
       <ul> 
       <li><a href="">RSS Feed</a></li> 
       <li><a href="">What is RSS?</a></li> 
       </ul> 
     </div> 

    </div> 
    </div> 
</div> 
</div> 
</div> 
</div> 

</body> 
</html> 
+0

如果您認爲問題出在您的PHP代碼中,您必須向我們展示您的PHP代碼。 – Rijk

+0

發送給客戶端的輸出是什麼? –

+0

一切都顯示出來,但橫幅 –

回答

0

試着改變你的Javascript這樣的:

window.onload = function() { 

    // Uncomment this line to make sure the script is loading/running, then delete it 
    // alert('Hello, your Javascript is running'); 

    // Declare variables 
    var currentTime, bannerDiv, newImg; 
    // Get currentTime 
    currentTime = new Date().getHours(); 
    // Get 'banner' div 
    bannerDiv = document.getElementById('banner'); 
    // Get create a new <img> 
    newImg = document.createElement('img'); 
    // Assign a src="" attribute depending on the time 
    newImg.src = (currentTime > 7 && currentTime < 19) ? 'images/banner_day.jpg' : 'images/banner_night.jpg'; 
    // add the new image to the document 
    bannerDiv.appendChild(newImg); 

}; 

並把它在文檔的<head>,所以更改

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    </head> 
    <body> 
    <!-- ....... --> 
    <div id="banner"> 
     <script src="http://beta.adsfasfasfd.com/wp-content/themes/adfadsf/scripts/banner.js"></script> 
    </div> 
    <!-- ....... --> 

...到:

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <script type="text/javascript" src="http://beta.adsfasfasfd.com/wp-content/themes/adfadsf/scripts/banner.js"></script> 
    </head> 
    <body> 
    <!-- ....... --> 
    <div id="banner"></div> 
    <!-- ....... --> 

如果它仍然不起作用,兩件事情之一發生:

  • 您的JavaScript文件實際上並不在http://beta.adsfasfasfd.com/wp-content/themes/adfadsf/scripts/banner.js,因此腳本無法加載/運行。取消註釋第一行以確認腳本正在運行。
  • images/banner_night.jpg找不到您的橫幅圖片 - 確保您的相對路徑是正確的。
+0

這工作,但是我不得不改變路徑,並使其絕對在.js文件...奇怪這是爲什麼? –

0

您是否確定自己實際上已經掌握了<script></script>?我當然不能在那裏看到它(除非它在<?php wp_head();>?)。

試圖導航到http://beta.website.com/wp-content/themes/theme/scripts/banner.js它返回404,您需要先解決此問題。

請記住,JavaScript是客戶端,所有你想用PHP做的是吐出標籤的地方供瀏覽器處理。

0

這可能是路徑問題。

你是什麼圖像(完整)的路徑? 什麼是頁面(完整)路徑?

現在它會查找當前頁面下方的圖像目錄。它是否正確?

相關問題