据我了解,Web浏览器是否缓存项目取决于:
Cache-Control
和Expires
)。对于从网络文件共享提供的文件,这有何不同?在不同的浏览器?考虑这个JavaScript包括:
<script type="text/javascript" src="\\SOMECOMPUTER\folder\file.js"></script>
当涉及网络文件时,浏览器是否会遵守此meta
标记?
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 31 Dec 2011 11:12:01 GMT">
我发现很少有关于这个主题的文档。
答案 0 :(得分:4)
编辑:在实际进行更多测试后,您可以使用IE8,Firefox和Google访问该文件,假设已设置了相应的权限,对于之前的混淆感到抱歉。
现在它只是回到了它将缓存java脚本文件(或任何真正的)的问题,这是肯定的。所以这就是你如何解决这个问题:
Using <meta> tags to turn off caching in all browsers?(这似乎对我来说很好,所以看起来浏览器会像这样监听网络文件的元标记)
How to force IE to reload javascript?(这就像你如何通过将时间作为未使用的变量附加来避免缓存ajax调用一样)
答案 1 :(得分:1)
仅在通过HTTP协议发送文件时才考虑HTTP标头。文件访问(本地和网络共享)不通过HTTP,因此您无法使用此控制缓存。
HTML文件在<head>
部分中包含带有元标记的缓存控件。因此,如果要控制.html文件的缓存,则可以执行此操作。遗憾的是,上面的.js文件并不正确,你无法通过这种方式控制js文件缓存。
我建议2个选项:
<script>...</script>
代码中),并通过<meta>
代码控制缓存。通过这种方式,您可以在<div src="\\server\cachedfile.html" \>
中加载此文件 - 加载后甚至可以隐藏div。我认为第二种选择更好,因为<meta>
缓存控制更可靠,更可控。