2012-07-27 92 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