我使用以下代码在Chrome扩展程序中设置本地存储空间。
localStorage.setItem('userkey','123');
/* I've also tried this:
chrome.storage.sync.set({'userkey': 123}, function() {
// Notify that we saved.
message('Settings saved');
});
*/
的manifest.json:
{
"manifest_version": 2,
"name": "Shopaholic",
"description": "All the latest sale items from your favourite clothes shops right on your home screen",
"version": "1.0",
"chrome_url_overrides": {
"newtab": "index.html"
},
"content_scripts": [
{
"matches": ["*://*/index.html"],
"css": ["css/style.css"],
"js": ["js/jquery.min.js"]
}
],
"options_page": "options.html",
"permissions": [
"storage"
]
}
但是,我收到此错误:
Uncaught SecurityError:无法阅读' localStorage'属性 来自' Window':文件是沙盒的,缺乏 '允许-同源'标志。
如果我使用上面注释掉的代码,我会得到:
未捕获的TypeError:无法读取属性'同步'未定义的
我哪里出错?
答案 0 :(得分:0)
阅读本文 - https://en.wikipedia.org/wiki/Same_origin_policy
基本上,它是一个Web应用程序安全模型概念。
因此,为避免这种情况,您需要在Google Chrome上禁用相同的原始政策
因此,如果在桌面上,使用此命令从命令行打开chrome
chrome.exe --disable-web-security
然后运行你的脚本,它不应该给出这个错误!