2009-02-25 45 views
10

这个问题几乎已经说了一切。将JavaScript放在标题之外有多糟糕?

我开始为我的weekend project添加一些功能。这对我和一对朋友来说是一个小应用程序,因为我们是交换学生,对我们来说它是有用的。

但事情是以下几点,我在php中做这件事,并用include函数构造所有东西,这样我就可以将代码分开。这些代码中的一部分依赖于javascripts snipets,因此将javascript放在正文中有多糟?或者,我应该只做双包括所以JavaScript停留在标题?

回答

2

将Javascript放入正文中是完美的。甚至有“内联”Javascript这样的东西。只是不要过头。如果你可以将你的脚本打包到一个单独的文件中(这并不总是可行的),它会使你的代码更易于维护。

1

有好的坏的理由去做。

GOOD)如果脚本对构建页面DOM并不重要,那么尽可能晚做一点,如Jim Puls所建议的,通常位于根BODY节点页面的最底部。这很好,因为它允许XHTML立即渲染,从而产生一个心理效应,即页面“加载更快”。实际上,它以相同的速度加载,除了浏览器不花费CPU周期下载,解释和运行JS,而用户盯着白色浏览器窗口。

不良)脚本标记通常会按照它们被包含的顺序下载解释。这意味着您需要仔细管理它们的包含顺序。另外,因为它们是连续加载的(一次一个),所以你为每个引用的附加文件支付高额费用,因为浏览器必须建立连接,检查缓存,下载等。像IE的“DEFFER”这样的技巧并不是标准的。出于这个原因,我强烈建议当你从开发到生产时把你的javascript打包到单个文件中,以便用户不必串行连接多个连接。另外请确保您已开启gzip压缩。

GOOD)有一种方法可以使用AJAX延迟加载脚本 - 您可以调用服务器请求JS,并在加载文件时引发事件。然后你可以调用eval(或者一些更安全的变体),将它的符号带入范围。这允许脚本的并行下载。

GOOD & BAD)在IE中,您必须避免在DOM完全加载之前操作DOM树。查看这个'do​​m:loaded'事件。