Google Chrome 中的浏览器缓存版本与 Tampermonkey

Browser Caching Versions in Google Chrome with Tampermonkey

我对 Google Chrome 中导入文件(通过网络请求)的缓存版本有疑问:

假设我有 script.js,其 URL 是: http://www.getscripts.com/script.js(URL 内容在 "http://" 之后任意,因为 TamperMonkey 通过 HTTP 协议导入)

如果我使用 @require 在 Tampermonkey 中导入脚本,我想为其版本使用查询字符串以避免缓存。

缓存版本:

比方说,我首先 @require 脚本的第一个 "version"(创建它,并插入初始内容),方法是给 require 一个 URL http://www.getscripts.com/script.js?v=1,所以我传入 URL 版本 v=1 的查询字符串,并且 版本 v=1 的脚本文件尚未缓存.

我对script.js的代码做了一些修改,URL提供的脚本也更新了(我用的是surge.sh)。

然后,我将 @require URL 更改为:http://www.getscripts.com/script.js?v=2,因此我传入 URL 版本 v=2[ 的查询字符串=29=]

然后我在代码中做了一些更多的更改,确保 URL 得到更新的文件,并给 @require 我的初始 URL 和 v=1http://www.getscripts.com/script.js?v=1

问题:

将返回的脚本文件(通过 HTTP 请求)- 是版本 1 还是版本 2?

我正在做的是在更新脚本代码后尝试强制下载新版本的脚本文件,因为 Tampermonkey 会缓存脚本文件而不重新下载它们,除非在@require的URL(HTTP请求是什么)。

这是通过向脚本 URL 添加版本参数强制浏览器下载脚本的新版本解决的,正如上面 wOxxOm 所建议的那样。