Firefox扩展中的localStorage抛出“操作不安全”。例外

xb1*_*itz 5 javascript firefox firefox-addon local-storage

我正在开发使用localStorage在网站上下文中存储用户数据的Firefox加载项。它使用标准方法通过注入的内容脚本访问localStorage:

localStorage.getItem(key);
localStorage.setItem(key, value);
Run Code Online (Sandbox Code Playgroud)

调用localStorege的代码通过PageMod注入网站:

pageMod.PageMod({
    contentScriptFile: [
        self.data.url("app.js")
    ]})
Run Code Online (Sandbox Code Playgroud)

调用方法getItem / setItem时,将引发安全异常:

[例外...“操作不安全。” 代码:“ 18” nsresult:“ 0x80530012(SecurityError)”位置:“”]

到目前为止,我还没有找到发生这种情况的原因。我怀疑它可能与旧的FireFox错误有关,但可能性很低:http//meyerweb.com/eric/thoughts/2012/04/25/firefox-failing-localstorage/

也许有人可以提出一个想法,什么会引起问题?

附加信息:

  • 我们正在使用Addon SDK 1.16
  • 自FF 29.0 RC1起出现问题(所有情况均与FF 28兼容)

bas*_*rat 0

The operation is insecure.仅当跨域加载 JavaScript 文件时才应抛出。要启用安全操作,服务 JS 文件的域必须启用 CORS: http: //en.wikipedia.org/wiki/Cross-origin_resource_sharing