我在我的页面中使用了内部JS(页面上),我为编码目的而编写。除此之外,我也使用外部JS。我在我的内部JS中使用了外部JS(在页面上)。当我将External JS放在我的内部JS之下时,它工作正常。但是当我将External JS放在内部JS之上时,它不起作用。我问这个是我的知识。我只是想知道原因。我知道...... JS应该放在body标签的末尾。但是当我使用内部和外部JS时呢。
--->如果我定义外部js低于内部js。工作正常。
<script type="text/javascript">
script code .. which uses external.js function.
</script>
<script type="text/javascript" src="external.js"></script>
---&GT;如果我在内部js上面定义外部js。不起作用。
<script type="text/javascript" src="external.js"></script>
<script type="text/javascript">
script code .. which uses external.js function.
</script>
答案 0 :(得分: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"
。
确保按照有意义的顺序定义脚本。确保您的外部脚本没有奇怪的或未记录的依赖项。