0

我搜索了一段时间,每个人都说不同。所以我有这个关于缓存、javascripts 文件和样式的问题。

好的,让我们开始吧,在每个教程和每个讨论如何加载文件的网站中,加载我所有 jQuery 插件的正确方法(我有 20 个用于不同页面的脚本,而主页上只使用了几个脚本)在我的页眉或页脚以及每一页。即使其中一个插件,让我们称之为contact.jquery.js不是在每个页面(about.phpindex.php)上都执行并且仅在用户中运行contact.php并且并不总是被用户访问。

index.php逻辑说 - 如果您从第一页 ( )一次加载所有脚本和样式,则第二页 ( contact.php) 上脚本的加载将被缓存并快速加载。

当我从页眉加载所有脚本时,我的第一页真的很慢,但是当我从另一个页面加载一个脚本(没有将脚本放到页眉)时,它不需要很多时间来加载,因为它只是一个 jQuery 脚本.

所以这里没有逻辑,如果我在它使用的页面上单独的脚本,速度与用户使用的页面成正比。

那么最好的方法是什么?

  • 按页面上的访问频率分隔脚本并将脚本放在单独的页面上
  • 仍然从索引页面加载所有内容。
  • 将所有脚本分开到不同的页面并将它们放在页脚。
  • 在第一页的页眉中使用所有脚本,但不要在使用特定脚本的页面上重新加载某些脚本。
  • 从 header 加载所有插件,在所有页面中,在单个 JS 文件中
  • 使用像 headjs 或 yepnope 这样的加载器

ps:对于样式,它是相同的——contact.css 将从第一页加载,或者更好地从contact.php 加载。我认为对于 css,它从索引中更好,但对于脚本我很困惑。

4

1 回答 1

0

我建议使用以下样式

global.css/js

您可以在整个站点中添加常用样式/js。像网站标志、页眉、页脚、布局等

页面.css/js

添加特定于页面的 css/js

插件

使用缩小版的 css/js。如果可能的话,您可以根据需要捆绑/分组和缩小

因此,在所有页面中使用 common 并在相应页面中仅添加页面特定的 js/css。

但是,第一个请求将访问服务器并缓存静态文件,css/js/img/etc直到您清除浏览器缓存或更改 url

于 2013-10-02T11:35:43.057 回答