Chrome扩展程序可以访问本地存储吗?
甚至比这更简单:
阅读:
var myStoredValue = localStorage["TheKeyToMyStoredValue"];
写:
localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;
摆脱:
delete localStorage["TheKeyToMyStoredValue"];
是的。详细了解如何做到这一点可能会超出合理的StackOverflow答案的长度,因此我会通过Rajdeep Dua向您推荐this very extensive tutorial。
相关的代码是这样的:
// Store item in local storage:
function setItem(key, value) {
try {
log("Storing [" + key + ":" + value + "]");
window.localStorage.removeItem(key); // <-- Local storage!
window.localStorage.setItem(key, value); // <-- Local storage!
} catch(e) {
log("Error inside setItem");
log(e);
}
log("Return from setItem" + key + ":" + value);
}
// Gets item from local storage with specified key.
function getItem(key) {
var value;
log('Retrieving key [' + key + ']');
try {
value = window.localStorage.getItem(key); // <-- Local storage!
}catch(e) {
log("Error inside getItem() for key:" + key);
log(e);
value = "null";
}
log("Returning value: " + value);
return value;
}
// Clears all key/value pairs in local storage.
function clearStrg() {
log('about to clear local storage');
window.localStorage.clear(); // <-- Local storage!
log('cleared');
}
function log(txt) {
if(logging) {
console.log(txt);
}
}
该教程的链接已损坏,但该示例仍存在。以下是教程示例https://chrome.google.com/webstore/detail/hmbpgbeiphknbkjjfppodijapijlpkkc – 2011-12-24 10:59:28
此API也有很好的工作: https://developer.chrome.com/extensions/storage.html 它也允许你将数据同步到你的个人资料 – 2013-01-24 03:52:46
目前的Chrome版本具有本地存储。
我自己也用过它。您可以使用modernizr来检测浏览器是否支持它。 我已经为客户端编写了一个解决方案,如果没有本地存储,我会回退到cookie,但这对扩展应该不是问题。
链接的死亡截至11/11/11 – techie007 2011-11-11 21:14:33
我删除了它并更新了答案 – 2011-11-14 14:12:45
你的先生是一个99级的德鲁伊和圣人。 – EbilGenius 2013-01-25 15:11:31
这是我在很长时间内阅读的最好答案。 – whizzzkid 2014-11-02 17:50:33
很好的答案。请注意,这不适用于内容脚本。我很困惑,直到我发现[this](http://stackoverflow.com/a/15466494/4926817) – 2016-02-29 20:02:18