我正在寫一個Chrome擴展,其中我需要將數據保存在chrome.storage.local
中。但是,它只保存最後一條記錄數據。你能解釋我做錯了什麼嗎?爲什麼chrome.storage.local只保存最後一條記錄?
普通localStorage不好,因爲重置Chrome瀏覽器中的設置後,localStorage爲空。
chrome.runtime.onMessage.addListener(function (request) {
if (request.type === 'setInLocalStorage') {
var key = request.key;
//alert(key);
chrome.storage.local.set({key: request.data},function() {
alert('data was saved');
});
}
return true;
});
chrome.runtime.onMessage.addListener(function (request, sender, SendResponse) {
if (request.type === 'getFromStorage') {
chrome.storage.local.get(null, function (items) {
var allKeys = Object.keys(items);
if (allKeys.length != 0) {
for (var i = 0; i < allKeys.length; i++) {
alert(items[allKeys[i]]);
if (items[allKeys[i]] === request.value) {
SendResponse(true);
} else if (i === allKeys.length - 1) {
SendResponse(false);
}
}
} else {
SendResponse(false);
}
});
}
return true;
});
爲什麼你是否將消息發送到'get()'和'set()'storage.local'? 'storage.local'可以從後臺上下文中運行的內容腳本和腳本中獲得。應該沒有必要傳遞信息。 – Makyen