Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript强制刷新资产_Javascript_Browser Cache_Page Refresh - Fatal编程技术网

使用JavaScript强制刷新资产

使用JavaScript强制刷新资产,javascript,browser-cache,page-refresh,Javascript,Browser Cache,Page Refresh,我在浏览器缓存资产(静态文件,如css和js)和在web服务器上更新时不更新资产方面遇到了麻烦。我认为web服务器(不幸的是IIS 6.0)应该报告上次更改的日期,以便浏览器刷新,但事实并非如此 我正在考虑在web应用程序的版本更改时强制刷新。可能将版本存储在cookie或HTML5存储上(在IE中工作?),并在JavaScript看到版本过时时强制刷新 使用cookie存储JavaScript是否可靠?或者我应该用另一种方式 如何使用JavaScript强制刷新?浏览器的F5似乎可以完成这项工

我在浏览器缓存资产(静态文件,如css和js)和在web服务器上更新时不更新资产方面遇到了麻烦。我认为web服务器(不幸的是IIS 6.0)应该报告上次更改的日期,以便浏览器刷新,但事实并非如此

我正在考虑在web应用程序的版本更改时强制刷新。可能将版本存储在cookie或HTML5存储上(在IE中工作?),并在JavaScript看到版本过时时强制刷新

使用cookie存储JavaScript是否可靠?或者我应该用另一种方式


如何使用JavaScript强制刷新?浏览器的F5似乎可以完成这项工作,如何从JavaScript中完成这项工作?

我使用它在特定项目上重新加载主CSS文件:

   var reloadStyle = function(el) {
       // reload CSS resource without refreshing the whole page
       var updateRandomQuery = function(s) {
           return(s.replace(/nocache=.*$/,'nocache=' + (Math.random()*1000).toFixed()));
       }
       el.setAttribute('href', updateRandomQuery(el.getAttribute('href')));
   }
   // TODO: reload images, etc
   reloadStyle(document.getElementById('MainStyle'));
该脚本可以扩展为一般地重新加载所有CSS,然后遍历图像和背景图像并重新加载它们。这只需要一些时间,我现在没有

因此,为了让事情变得清楚,它不会“开箱即用”地用于任何其他项目。但是如果你理解JavaScript,它可以给你一个想法


我已经使用Chrome快捷键插件将这段JavaScript映射到“Alt-R”组合键。

window.location.reload()
?这是为了刷新页面,但我认为你的问题并不是源于页面刷新。也许设定一个缓存时间限制。谢谢。我会试试的