我有一个谷歌浏览器应用程序,我尝试使用chrome.storage.sync.get,它说,"无法读取未定义的属性同步"。有人可以告诉我发生了什么事吗?我尝试过复制并粘贴chrome开发者网站上的确切行。
代码字面意思是:
$(".thing").click(function() {chrome.storage.sync.set(stuff)}
据我所知,错误只是因为我试图在谷歌浏览器中使用chrome存储API而不是应用程序。
答案 0 :(得分:3)
事实证明,我试图在谷歌浏览器(浏览器)中运行此功能,而不是Chrome应用。 Chrome不知道它应该将代码解析为应用,并忽略关于chrome.storage
的行。值得注意的是,chrome开发人员!
答案 1 :(得分:1)
请在使用chrome.storage.sync
的manifest.json
{
"manifest_version": 2,
"name": "Storage",
"description": "This extension shows a Google Image search result for the current page",
"version": "1.0",
"icons":{
"256":"img/icon.png"
},
"permissions": [
"storage"
],
"app": {
"launch": {
"local_path": "options.html"
}
},
"background": {
"scripts": ["js/app/background.js"]
}
}
在chrome://extensions
中重新加载您的应用,以便在浏览器中更新您的manifest.json。
遵循chrome.storage.sync
及其回调函数的确切语法。
Sample.js
$(".thing").click(function() {
chrome.storage.sync.set({"myKey": "testPrefs"},function(){
alert("object stored");
})
chrome.storage.sync.get("myKey",function(obj){
alert(obj.myKey);
})
});
这对你有用。我在我的Chrome应用程序中测试了这段代码。