繁体   English   中英

我可以在PHP文件中引用外部JavaScript文件吗?

[英]Can I reference an external JavaScript file in a PHP file?

我似乎无法使它正常工作。 我有一个小的JS文件,可以根据一天中的时间切换横幅,但是似乎无法在PHP文件中进行外部引用。 在HTML页面中可以正常工作。

这是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文件中。

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

PHP页面上的所有内容都会显示在浏览器中, 我尝试使用脚本调用的横幅除外


这是完整的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>

您是否已确定实际上已经掌握了<script></script> 我当然看不到它(除非它在<?php wp_head();> ?中)。

尝试浏览到http://beta.website.com/wp-content/themes/theme/theme/scripts/banner.js时, 它返回404 ,您需要首先解决此问题。

请记住,javascript是客户端,而您要使用php进行的所有操作都是将标记吐出,供浏览器处理。

这可能是路径问题。

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

现在,它会在当前页面下方查找images目录。 这个对吗?

尝试将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上找不到您的横幅图像-确保您的相对路径正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM