我一直在一个电子商务网站上工作,该网站最近发布了一个大型代码。几个月来,我们一直在修改/优化一些 .js 和 .css。每次用户访问该站点时,他们都必须清除缓存。
我们已经开始向 url 添加查询字符串 /Resources/Javascript/GuidedNavigation.js?v=1
但是,据我所知,并非所有浏览器都支持此功能。我一直无法找到关于哪些浏览器支持查询字符串的解释。大概是所有现代浏览器,但我们仍然有相当数量的流量通过 IE7-IE9 传入。
哪些浏览器支持缓存清除和查询字符串?
最佳答案
To clarify the question, what browsers support cache busting via query stings?
缓存破坏不是浏览器“支持”的东西;这是一种使用浏览器缓存的标准行为的技术。
数据缓存在浏览器中每个 URL。每个唯一的 URL 应该代表一个唯一的数据,可以单独缓存。 通过在查询字符串中附加一个无意义的值,您可以更改 URL,使其唯一,导致浏览器下载它,因为它还没有缓存它。就是这样。
要使这个不正常工作,浏览器必须具有非标准的缓存行为,并以某种方式将两个不同的 URL 视为相等,并对它实际上具有的 URL 使用不同 URL 的缓存版本尚未下载。我知道没有浏览器执行此操作(并不意味着它不存在,但这会严重损坏)。
关于javascript - 哪些浏览器不支持缓存清除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158629/