我想知道浏览器如何确定是从服务器获取脚本还是从缓存中获取,当我在开发时,我从未清除缓存以查看更改。但是,有些人经常遇到浏览器缓存脚本而不获取更新版本的问题。我知道可以附加查询字符串到文件路径以强制从服务器获取,但在这个问题中,我更感兴趣的是了解问题背后的原理。为什么缓存只有有时会干扰,为什么它不会对每个人产生相同的影响?
此外,这与不同的浏览器有什么区别? IE,Firefox,Chrome等等...
谢谢
此外,这与不同的浏览器有什么区别? IE,Firefox,Chrome等等...
谢谢
像其他人所说的,这是一个相当广泛的问题,我认为它真的取决于浏览器。通常情况下,浏览器会缓存诸如图像、CSS 和 JS 文件等内容,以便在再次访问网站时减少页面加载时间。
如果您担心您的受众能否查看您的新内容或功能,则一种“简单”的方法是对您的 JS 和 CSS 文件进行版本控制。可以通过执行以下操作来完成此操作:
script type="text/javascript" src="someplace/main.js?ver=1.5" >
请注意 js 扩展名后面的问号。这只是告诉浏览器有更多数据要处理。如果它无法识别字符串,则会尝试重新下载文件,从而更新客户端缓存。