Javascript Firefox扩展中的localStorage

Javascript Firefox扩展中的localStorage,javascript,html,firefox-addon,local-storage,Javascript,Html,Firefox Addon,Local Storage,我正在尝试从Firefox扩展访问页面的本地存储。我的理解是,content引用了当前页面的窗口。当我尝试使用content.localStorage访问页面的localStorage时,我想我得到了对它的引用。然而,当我尝试content.localStorage.length时,我什么也得不到 附件是相关代码 var myExtension = { init: function() { var appcontent = document.getElementById(

我正在尝试从Firefox扩展访问页面的本地存储。我的理解是,
content
引用了当前页面的
窗口。当我尝试使用
content.localStorage
访问页面的localStorage时,我想我得到了对它的引用。然而,当我尝试
content.localStorage.length
时,我什么也得不到

附件是相关代码

var myExtension = {
    init: function() {
        var appcontent = document.getElementById("appcontent");   // browser
        if(appcontent)
            appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true);
    },

    onPageLoad: function(aEvent) {
        var doc = aEvent.originalTarget;
        alert(content.localStorage) // alerts "[object XPCNativeWrapper [object Storage]]"
        alert(content.localStorage.length) // alerts nothing
    }
window.addEventListener("load", function() { myExtension.init(); }, false);
编辑#1:更多信息

try{
    alert(content.localStorage.getItem('todoData'))
    alert(content.localStorage.length)
} catch (e){
   alert(e)
}
长度引发异常“[异常…”组件不可用”nsresult:“0x80040111(NS\u错误\u不可用)


localStorage.length
在Firefox的标准网页上运行,但是
content.localStorage.length
在Firefox扩展中不起作用。现在我很困惑…

使用content.localStorage.wrappedJSObject.myVariable

从Firefox扩展中,您可以通过窗口访问localStorage对象。content.localStorage,例如:

var ls = window.content.localStorage;
ls.setItem("myvariable", "myvalue");
var item = ls.getItem("myvariable");
其他任何操作都会导致“组件不可用”错误


另一方面,globalStorage不是这样工作的。您根本无法将其与扩展一起使用,因为该对象只有在从服务器运行时才可用。

使用NsIDOMStorageManager xpcom界面,您可以获取本地存储信息

try{
    alert(content.localStorage.getItem('todoData'))
    alert(content.localStorage.length)
} catch (e){
   alert(e)
}

window.content未定义!