使用 php 加载脚本的效率
Efficiency of using php to load scripts?
我有一个大约10-12页的网站,自始至终都使用jQuery/Javascript。由于并非所有脚本在每个页面中都是必需的,因此我目前正在使用 switch
语句在任何给定页面上仅输出所需的 JS,以减少请求数量。
我的问题是,在性能方面,效率如何?如果不是,有没有其他方法可以选择性地仅在页面上加载所需的JS?
这可能根本不是必需的。
请记住,如果您的缓存设置正确,嵌入 JavaScript 仅在首次加载时需要时间 - 每个后续请求都将来自缓存。
除非你有很大的例外(比如,使用一个巨大的JS库的特定页面),否则我会考虑始终嵌入所有内容,也许使用缩小,以便所有内容都在一个小文件中。
不过,我没有看到您使用的方法有任何性能问题。毕竟,这是关于决定是否输出一行代码。使用长期可读性和可维护性最高的方法。
由于您已经在使用 JS,因此您可以完全使用 JS 解决方案 - 例如,您可以使用 yepnope 而不是 php。我不知道您网站的结构是什么,以及您如何确定哪个页面需要什么或在什么时候包含某些内容(加载时,在某些远程事物完成交付数据后),但是如果您广泛使用 $.ajax,您也可以使用 yepnope 来提取额外的 JS,一旦 $.ajax 完成它应该做的事情。
您可以放心地假设 JavaScript 已正确缓存在客户端。
由于我还假设您提供缩小的文件,看到您网站的大小,我会说性能可以忽略不计。
JavaScript 放在一个单独的".js"文件中,并在页面中引用此文件。
原因是浏览器将有效地缓存此文件,并且每个会话只会下载一次(或更少!
唯一的缺点是,如果您更改脚本,则需要"刷新"几次。
所以,在捣鼓了一下之后,我决定试一试LABjs。它确实运行良好,因此我的代码不那么臃肿。考虑到我网站的大小,性能没有明显的提高,但是代码现在更易于维护。
有趣的是,我的标题中有一个类似Facebook的按钮。在分析了Firebug中的请求后,我决定将其删除,并在页面加载时间上获得了惊人的2秒。天哪,这该死的东西是无辜的...
感谢您的回答!
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- HTML标记在脚本标记中工作
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 显示时间的脚本
- ng应用程序使脚本无限运行
- 这些脚本之间的效率有差异吗
- javascript矩阵脚本,由于某些原因效率低下/速度较慢
- 使用 php 加载脚本的效率