使用php加载脚本的效率?

时间:2011-05-11 09:37:45

标签: php javascript performance switch-statement

我有一个大约10-12页的网站,整个使用jQuery / Javascript。由于并非每个页面都需要所有脚本,因此我目前正在使用switch语句在任何给定页面上仅输出所需的JS,以减少请求数量。

我的问题是,性能效率如何?如果不是,有没有其他方法可以选择性地加载页面上所需的JS?

5 个答案:

答案 0 :(得分:3)

这可能根本没有必要。

请记住,如果正确设置了缓存,嵌入JavaScript只需要在第一次加载时花费时间 - 每个后续请求都来自缓存。

除非你有很大的例外(例如,使用巨大的JS库的特定页面),我会考虑随时嵌入所有内容,也许使用缩小,所以一切都在一个小文件中。

但是,我发现您使用的方法没有任何性能问题。毕竟,它是关于决定是否输出一行代码。从长远来看,使用最易读和可维护的方法。

答案 1 :(得分:2)

由于您已经使用了JS,因此可以完全使用JS解决方案 - 例如,您可以使用yepnope而不是php。我不知道你的网站的结构是什么,以及你如何确定哪个页面需要什么或者包含什么内容(在加载时,在某些远程事物完成交付数据之后),但是如果你广泛使用$ .ajax,你也可以使用yepnope来获取额外的JS,一旦$ .ajax完成它本应该做的就完成了。

答案 2 :(得分:1)

您可以放心地假设javascript已在客户端正确缓存。

我还假设您提供了一个缩小的文件,看到您网站的大小我会说性能可以忽略不计。

答案 3 :(得分:1)

最好将所有JavaScript放在一个单独的“.js”文件中,并在页面中引用此文件。

原因是浏览器会有效地缓存此文件,每次会话只会下载一次(或更少!)。

唯一的缺点是,如果更改脚本,则需要“刷新”几次。

答案 4 :(得分:0)

所以,经过修补,我决定试试LABjs。它运行良好,因此我的代码不那么臃肿。考虑到我的网站规模,性能没有明显提高,但现在代码更加可维护。

有趣的是,我的标题中有一个像facebook一样的按钮。在分析了firebug中的请求后,我决定将其删除,并在页面加载时间上获得惊人的2秒。神圣的废话是这个该死的东西... ...

感谢所有答案!