2012-07-27 39 views
6

使用“加载解压后的扩展名”时。我必须将查询字符串(例如?v = \ d +)传递给包含在背景页面中的脚本以中断缓存。如何防止缓存铬扩展中的资源?

有什么办法可以禁用这种缓存行为?

+0

为什么使用加载已解压的扩展?你不能只是点击“重新加载”? – 2012-07-27 14:26:42

+2

我使用重新加载,但由于某种原因它仍然保持在扩展资源上的缓存。 – 12345 2012-07-28 17:01:26

+0

这个bug听起来很熟悉。我在过去经历过,但没有遇到任何麻烦(我已经创建了一个用于更快扩展开发的扩展,请参阅[本文]](http://stackoverflow.com/questions/2963260/how-do-i - 自动重载 - 一个铬扩展-IM-开发/ 9645435#9645435))。您使用的是哪个Chrome版本? – 2012-07-28 20:34:00

回答

0

也许尝试保留带有更新编号的文件,并且当您的用户打开扩展程序时,它会检测到新更新并清除缓存?您可以在添加扩展缓存的权限如下清单一样:

"permissions": [ 
    "browsingData", 
], 

然后在你的分机清除缓存,像这样:

var callback = function() { 
    // Do something clever here once data has been removed. 
}; 

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7; 
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek; 
chrome.browsingData.remove({ 
    "since": oneWeekAgo 
}, { 
    "appcache": true, 
    "cache": true, 
    "cookies": true, 
    "downloads": true, 
    "fileSystems": true, 
    "formData": true, 
    "history": true, 
    "indexedDB": true, 
    "localStorage": true, 
    "pluginData": true, 
    "passwords": true, 
    "webSQL": true 
}, callback); 
+0

只要记住在发布之前禁用它,这将是可怕的行为。 – 2016-07-01 08:25:59