【问题标题】:Efficiency of using php to load scripts?使用php加载脚本的效率?
【发布时间】:2011-05-11 09:37:44
【问题描述】:

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

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

【问题讨论】:

  • 请记住,如果您的缓存设置正确,嵌入 JavaScript 仅在首次加载时需要时间 - 每个后续请求都将来自缓存。
  • 你能解释一下你的意思是什么表现吗?使用 php-switch() 的性能还是仅使用必要的 javascript 获得的性能?一般来说,我会说 switch() 是一种语言结构,您不必担心性能问题;)

标签: php javascript performance switch-statement


【解决方案1】:

这可能根本没有必要。

请记住,如果您的缓存设置正确,嵌入 JavaScript 只会在首次加载时花费时间 - 每个后续请求都将来自缓存。

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

不过,我认为您使用的方法没有任何性能问题。毕竟是决定是否输出一行代码。从长远来看,使用最具可读性和可维护性的方法。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

          所以,经过一番修改,我决定尝试LABjs。它运行良好,因此我的代码不那么臃肿。考虑到我网站的大小,性能并没有显着提高,但现在代码的可维护性要好得多。

          有趣的是,我的标题中有一个类似 facebook 的按钮。在分析了 firebug 中的请求后,我决定删除它,并在页面加载时间上获得了惊人的 2 秒。天哪,这该死的东西是无能的......

          感谢大家的回答!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-08-18
            相关资源
            最近更新 更多