【问题标题】:javascript file not being cached?javascript文件没有被缓存?
【发布时间】:2010-07-26 06:38:49
【问题描述】:

我正在尝试优化我的 Web 应用程序,但不幸的是,最终的 javascript 文件大小约为 450K - 压缩后也是如此 [我需要一段时间才能重做 javascript,但在那之前我必须上线] - 我最初制作了一些小型 javascript 库来处理。我所做的是我有一个包含所有 javascript 文件的 php 文件,然后我包含了我的 php 文件,如下所示:

<script language="js/js.php"></script>

问题是我希望我的文件在第一次加载时会被缓存,但似乎每次我刷新页面或返回它时,文件都会从服务器重新加载 - 我使用 firebug 进行了检查。还有什么我必须添加的以确保我的文件被缓存在用户端..还是我在这里误解了缓存的想法?

【问题讨论】:

  • Apache 的.htaccess 适合您吗?

标签: php javascript caching


【解决方案1】:

您需要在 php 中设置一些标头以确保文件被缓存。

在js.php的顶部放:

ob_start("ob_gzhandler");

$expires = 2678400; // 1 month in seconds
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

这将同时添加基本缓存 + gzip 压缩。

【讨论】:

  • 另外,他可能想将脚本标签更改为有效,&lt;script type="text/javascript" src="js/js.php"&gt;&lt;/script&gt;
  • 工作就像一个魅力 :D 谢谢你!
【解决方案2】:

为什么不保留 .js 文件并让 web-server 负责缓存?
压缩不是你真正需要的东西,但条件获取是

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多