2011-09-30 144 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

这可能是路径问题。

你是什么图像(完整)的路径? 什么是页面(完整)路径?

现在它会查找当前页面下方的图像目录。它是否正确?

相关问题