2013-04-03 78 views
-1

我在我的页面中使用了内部JS(页面上),这是我为编写目的编写的。随着它我也使用外部JS。我在我的内部JS(在页面上)使用外部JS。当我将External JS放置在我的Internal JS下面时它工作正常。但是当我将External JS放置在内部JS之上时它不起作用。我问我的知识。我只想知道原因。我知道.. JS应该放在body标签的末尾。但是当我使用Internal和External JS时呢?将内部JS和外部JS放在HTML页面的位置

--->如果我定义外部js波纹管内部js。工作正常。

<script type="text/javascript"> 
    script code .. which uses external.js function. 
</script> 
<script type="text/javascript" src="external.js"></script> 

--->如果我在内部js上面定义外部js。不起作用。

<script type="text/javascript" src="external.js"></script> 
<script type="text/javascript"> 
    script code .. which uses external.js function. 
</script> 
+1

如果外部src可以指向一个url 例如.. AurA

+0

我没有越来越解释我PLZ。 –

+2

无论代码是“外部”还是“内部”。您应该只检查执行顺序。例如,如果您在第一个代码段中定义变量,并在第二个代码段中使用它,则必须在第二个代码段之前先放置。 – Tommi

回答

0

通常,您会希望将内部或外部脚本放置在<head>中。

Google Analytics(分析)likes to be at the bottom of the page因为您将其打包到现有产品时有意义。如果你从一开始就为网站设计脚本,你就有机会做对了。

脚本是内部还是外部通常取决于哪种方法更有意义。如果你有一个在多个页面上使用的脚本,你可能会把它放在一个外部脚本中,这样你就可以重用它。性能考虑是相当复杂的,这当然不是小事。

我想你正在运行的是一些内部脚本的外部脚本的依赖。

<script type="text/javascript"> 
    var my_var = "foo"; 
</script> 
<script type="text/javascript" src="external.js"></script> 

-- external.js 
console.log(my_var); 

如果改变上面例子中的脚本的顺序,将打印undefined,而不是"foo"。 确保您按照有意义的顺序定义脚本。确保你的外部脚本没有奇怪的或没有记录的依赖关系。