我如何测试JavaScript缓存解决方案?

问题描述 投票:0回答:1

我正在研究一些用于强制重新加载缓存的javascript文件的方法。问题是,我无法在本地缓存脚本。我检查了Chrome的“网络”标签上的“禁用缓存”选项是否已关闭。我正在使用MVC将其添加到网站首页:

@section scripts
{
@Scripts.Render("~/Scripts/app/test.js")
}

这是test.js的内容:

alert('Welcome to 2');

如果我更改警报文本并刷新页面,无论项目是否重启,它总是新鲜的...

javascript browser-cache
1个回答
0
投票

通常是服务器配置问题。https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2

对于不想破坏服务器配置的客户端开发人员,您还可以将test.js文件更改为test.php文件(实际上只是更改扩展名),以与您完全相同的方式来命名重新调用它(除非再次将扩展名更改为PHP),然后在PHP文件的顶部添加类似的内容:

<?php
$seconds_to_cache = 3600;
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";
header("Expires: $ts");
header("Pragma: cache");
header("Cache-Control: max-age=$seconds_to_cache");
?>

然后将其上传到您的服务器。只要您的服务器处理PHP(可能确实如此),此代码就应强制浏览器缓存新文件,该文件的功能与其他JS文件一样。(摘自https://electrictoolbox.com/php-caching-headers/

© www.soinside.com 2019 - 2024. All rights reserved.