【问题标题】:Should I only be loading Javascript files on pages I need them?我应该只在需要它们的页面上加载 Javascript 文件吗?
【发布时间】:2023-03-20 06:45:01
【问题描述】:

所以我开始对优化产生兴趣,我想知道是否值得只在我需要的页面中包含 Javascript 文件并使用 PHP 从其余页面中排除它们?

谢谢

【问题讨论】:

    标签: php javascript optimization


    【解决方案1】:

    只加载您需要的脚本肯定会有所帮助。

    通过将所有 javascript 合并到一个文件并(如果可能)最小化和缓存输出,可以做出另一个巨大的改进。浏览器发出的请求越少,您的页面加载速度就越快。

    【讨论】:

    • +1 好点。如果网站对每个页面的 Javascript 要求大不相同,则可能需要即时生成以交付单个脚本,但这确实有助于缩短页面加载时间。
    • 是的,我正在尝试转换我工作的工作室,以开始缩小和合并他们的所有文件。我猜这个问题主要与远程 API 相关。
    【解决方案2】:

    理想情况下,

    每个页面的加载量不应超过其需要。尽量减少流量总是好的。

    最好有一个生成页面的框架,并且只为每个页面添加你需要的资源。

    【讨论】:

    • 为了扩展这一点,避免在页面之间卸载任何资源也是一个好习惯。
    • 你说的避免卸载资源是什么意思,这不是和我们这里做的相反吗?例如,您在需要 foo.js 的主页上,而您转到不需要 foo.js 的关于我们。我们不应该删除关于我们页面上的 foo.js 吗?
    【解决方案3】:

    如果您在主页上包含网站所需的全部或大部分 JavaScript(以最小化和压缩形式,如 YUI Compressor 提供的那样),它将增加主页的加载时间,但会减少其他页面的加载时间,因为 JavaScript 已经在缓存中。很多 Web 应用程序都会使用这种技术,以便在初始加载后的用户体验更加流畅。

    这两种技术都有其优点,它实际上只取决于您正在构建的应用程序/页面的类型。但就像 dirkbonhomme 所说,无论您采用哪种方式,都应该最小化、压缩和缓存 JavaScript(和 CSS)。

    【讨论】:

    • 我用YUI Compressor很久了,最近对Google Closure Compiler感兴趣,值得一看:code.google.com/closure/compiler
    • 所以在主页上我们包含了我们所有的Javascript,不管它是否需要它?然后在其他页面上,我们只包含我们需要的任何内容。
    • 抱歉回复晚了,有点忙。您不想在第一页上包含所有 JavaScript,如果您正在压缩,则只在其他每个页面上包含您需要的内容,这意味着您的 JavaScript 文件会有所不同,并且会重新下载。相反,您在每个页面上都包含所有 JavaScript。请记住,它全部压缩在一个文件中,该文件的内容就是被缓存的内容。如果您没有将所有内容压缩到一个文件中,则可以使用仅包含所需内容的方法。
    猜你喜欢
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2012-10-21
    相关资源
    最近更新 更多