放置JavaScript函数的位置: ?或者,之后?

时间:2012-03-01 16:37:56

标签: javascript

我对放置JavaScript函数的位置感到困惑:

什么时候应该放在头脑中 当在体内内嵌时 并且,在关闭html标签之后?

感谢

3 个答案:

答案 0 :(得分:11)

规则是快速而宽松的,没有正确或错误的方式只会更好,更好。 (在</html> 错误之后)

一般来说,文档的head中的javascript可能会阻止页面的呈现,直到文件在某些​​浏览器中加载* cough * IE * cough *。这是由于同时连接的限制。所以有些人在结束html标记前 。您可以使用库来异步加载javascript以避免阻塞。

如果你正在使用一个库,或者在执行代码之前检查要加载的DOM,那么它确实没有问题。但是,如果你不这样做,最好把它放在最后。

答案 1 :(得分:1)

Javascript始终可以安全地放在头部,以使整个页面都可以使用这些功能。请注意,这可能会阻止加载文档的其余部分,因此如果您要加载非常大或外部的Javascript,您可能希望在正文末尾附近加载它们。

内置的Javascript在执行时将变为可用。这允许您在加载页面元素时有条件地加载JS。

Javascript应始终放在<head><body>中,永远不会放在</html>之后。

答案 2 :(得分:1)

我同意,在html之后从未见过(我也不能推荐)。此外,如上所述,阻塞是关注的问题。我经常使用的是头部中的一个脚本引用yepnope(异步js加载器和测试tid位(现在包含在modernizr中)),以及最后一小段内联js加载bootstrap js文件的body标签。

在该文件中,我使用另一个yepnope请求异步加载其他所需资产,并启动初始化方法。

我还将我的Google Analytics代码放在最终的yepnope块中,这样即使在js应用程序启动之后,它也是最后加载的。