2013-05-22 70 views
1

所以我的JavaScript文件正在缓存。本来我只是他们中的脚本标记,像这样:删除缓存的JavaScript

<script type='text/javascript' src='js/example.js'></script> 

现在,我的理解是,它是完美的罚款对浏览器的缓存GET请求。

由于我的应用程序在开发中,我现在还不能允许这样做。

我对缓存第二种理解是,如果GET查询字符串不同,那么它不会认为他们是相同的,因此不缓存他们,这一点我已将此添加到我的网页,而不是:

<script type="text/javascript"> 
    window.onload = function() { 
     var s = document.createElement('script'); 
     s.type = 'text/javascript'; 
     s.src = "js/example.js?timestamp=" + new Date().getTime(); 
     document.body.appendChild(s); 
    } 
</script> 

这会将文件罚款上来的东西,如:

<script type="text/javascript" src="js/example.js?timestamp=1369194644133"></script> 

但不知何故,这仍然是被缓存。

我的浏览器(Google Chrome)也禁用了缓存,但仍然存在。

要提供我使用IIS 7.5的文件,并且我也禁用了该站点的缓存。

+1

你怎么知道它是被缓存? – Blender

+0

因为我通过转到位置来检查文件并将其与其加载的文件进行比较。 – FabianCook

+2

我会监督使用提琴手(或类似)的网站,以确保您的JS文件的请求不会去您的服务器 – TGH

回答

-1

尝试使用的Math.random()

xhr.open('GET', 'php/response.php?page=' + this.page + '&' + Math.random(), true); 
+1

这与OP已经有的没有什么不同。这只是另一种每次重新加载获得不同号码的方式...... –