【问题标题】:How do I preload .css and .js files, before the whole page (dynamic by PHP) is generated如何在生成整个页面(由 PHP 动态生成)之前预加载 .css 和 .js 文件
【发布时间】:2013-08-10 00:47:44
【问题描述】:

我的主页(index.php)是由 PHP 动态生成的,所以页面交付给用户大约需要 1s

因为我的css和js脚本在(index.php)的头部,在这1s之后css和js就会开始下载。

有没有一些预加载这个js和css文件的通用方法?


我的方法是删除 index.php 的所有内容,只在我的 css 和 js 文件中包含 ,然后做一些 js 来加载整个 indexOriginal.php(在我的服务器上生成的动态内容通过 PHP),所以这应该使用户能够下载 indexOriginal.php 并行的 css、js。

这是正确的方法吗?

【问题讨论】:

  • 你可以尝试在它忙于构建页面正文之前让 php 输出并刷新页面标题。

标签: php javascript performance optimization preload


【解决方案1】:

您建议的方法可行。您还可以考虑更改您的 PHP 脚本,以便在开始将页面的其余部分放在一起之前快速交付页面的第一部分(<html><body>)。

【讨论】:

    【解决方案2】:

    您的页面由后端完整生成并仅在 php 脚本结束其工作后发送给用户。

    例如,您可以创建类似的页面。

    <html><head><script></script></head><body></body></html>
    

    &lt;script&gt;&lt;/script&gt; 中加载,例如,JQuery 并执行类似的操作

    $(document).ready($('body').load('/path/to/your/script.php'))

    但我真的认为这不是一个好习惯。此外,我认为 Google 不会使用此解决方案解析您的网站内容。

    我认为你的 JS 应该看起来更好(压缩、gzip、拆分为多个文件并从不同的 CDN 上传它们、将所有内容移动到 $().ready 等)

    【讨论】:

      【解决方案3】:

      我的建议是让您的初始 PHP 脚本只提供 CSS 和 JS 标签。加载这些内容后,使用 JavaScript 进行 AJAX 调用,获取页面的其余部分,然后显示它。或者您可以在 JavaScript 中构建页面(这将允许您使用加载图标等来更好地向用户指示“页面即将到来”)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-15
        • 1970-01-01
        • 2020-09-17
        • 2017-09-06
        • 1970-01-01
        • 2013-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多