在Chrome扩展程序中设置本地存储空间

时间:2014-04-17 22:58:13

标签: javascript google-chrome google-chrome-extension local-storage

我使用以下代码在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:无法读取属性'同步'未定义的

我哪里出错?

1 个答案:

答案 0 :(得分:0)

阅读本文 - https://en.wikipedia.org/wiki/Same_origin_policy

基本上,它是一个Web应用程序安全模型概念。

因此,为避免这种情况,您需要在Google Chrome上禁用相同的原始政策

因此,如果在桌面上,使用此命令从命令行打开chrome

chrome.exe --disable-web-security

然后运行你的脚本,它不应该给出这个错误!