2017-01-18 85 views
0

我有一个关于谷歌浏览器缓存中导入的文件版本(通过Web请求)的问题:浏览器缓存版本的Tampermonkey

比方说,我有script.js,其网址为: http://www.getscripts.com/script.js(URL内容任意因为TamperMonkey通过HTTP协议导入)

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

缓存版本:

比方说,我第一次@require剧本(创造了它,并插入初始内容),通过给requirehttp://www.getscripts.com/script.js?v=1 URL的第一个“版本”,所以我通过在URL中的版本号为v=1的查询字符串,并且版本v=1的脚本文件没有被缓存到

我对script.js的代码进行了一些更改,并且URL提供的脚本也得到更新(我使用surge.sh)。

然后,我改变我的@require网址:http://www.getscripts.com/script.js?v=2,所以我在URL中传递的版本v=2

然后我在代码中进行一些变化的查询字符串,确保URL中获取更新的文件,并给予@require我最初的URL与v=1http://www.getscripts.com/script.js?v=1

问:

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

我在做什么是试图强制下载我的脚本文件的新版本,我更新脚本的代码后,因为Tampermonkey缓存脚本文件而无需重新下载脚本文件,除非在URL中进行了一些更改@require(HTTP请求是什么)。

+1

使用版本参数作为版本。它应该增加被认为是新的。 – wOxxOm

+0

好的,谢谢。 :) –

回答

0

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