在一个单独的文件中把JavaScript代码不起作用(Putting JavaScript code

2019-07-30 23:33发布

我与Optimizely guiders.js示例代码的工作:

http://jeffpickhardt.com/guiders/

但如果我提取JavaScript代码,并将其放置在一个单独的文件,导引件不加载。

下面是编辑HTML:

<html>
  <head>

    <!-- guider.js requires jQuery as a prerequisite. Be sure to load guider.js AFTER jQuery. -->
    <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
    <script type="text/javascript" src="guider.js"></script>
    <script type="text/javascript" src="guidedTour.js"></script>

    <link rel="stylesheet" href="guider.css" type="text/css" />
  </head>
  <body>
    <span id="clock" style="border: 2px solid #333; width: 300px; height: 200px; text-align: center;" onclick="guider.next();">
      <br />
      <img src="clock.gif" width=150 height=150 />
    </span>


  </body>
</html>

我在所有的JavaScript代码guidedTour.js ,在同一个目录。 所有.js文件也可以在同一目录下。 和代码在不同的文件中提取之前的工作。

当JavaScript是在单独的文件导引件不加载。

我收到以下错误在Chrome中:

“遗漏的类型错误:无法读取空jQuery的1.5.1.min.js的特性‘clientHeight’:16”

试图更近的jQuery的版本抛出上的错误guiders.js 。 反正它似乎比如果我继续的JavaScript代码在不同的行为index.html


我创建的工作代码的jsfiddle: http://jsfiddle.net/vpMQy/

我不知道如何在一个单独的文件创建JavaScript的一个类似的jsfiddle,这样我可以重现该问题。

是否有可能把这个JavaScript代码在一个单独的文件?

Answer 1:

始终包裹里面的代码DOM准备处理程序

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

或它的简写

$(function() {
    //your code here
});

或者把你的脚本在文档的最后body

    //...
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="myScript.js"></script>
 </body>

而且你不会有操纵他们的DOM它准备好之前的问题。 =]



文章来源: Putting JavaScript code in a separate file does not work