【问题标题】:Html 5 local storage in XUL applicationXUL 应用程序中的 Html 5 本地存储
【发布时间】:2013-11-25 14:27:07
【问题描述】:

我正在尝试在独立的 xul 应用程序中实现 html5 本地存储,我想使用本地存储,因为我认为 Xpcom 方式看起来很复杂。

我已经阅读了你可以做的 Firefox 扩展:

document.content.localStorage.setItem("myvariable", "myvalue");
var item = document.content.localStorage.getItem("myvariable");
document.getElementById("result").innerHTML=item;

但这不适用于我的独立应用程序,我该怎么做呢?

【问题讨论】:

    标签: html local-storage xul xulrunner


    【解决方案1】:

    我找到了解决方法here

    var url = "http://example.com";
    var ios = Components.classes["@mozilla.org/network/io-service;1"]
              .getService(Components.interfaces.nsIIOService);
    var ssm = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
              .getService(Components.interfaces.nsIScriptSecurityManager);
    var dsm = Components.classes["@mozilla.org/dom/storagemanager;1"]
              .getService(Components.interfaces.nsIDOMStorageManager);
    
    var uri = ios.newURI(url, "", null);
    var principal = ssm.getCodebasePrincipal(uri);
    var storage = dsm.getLocalStorageForPrincipal(principal, "");
    
    storage.setItem("chromekey", "chromevalue");
    

    它的作用是假装它是 example.com,因此 Mozilla 让它评估 loaclstorage。

    【讨论】:

      【解决方案2】:

      试试这个:

      var win = document.content.defaultView;
      win.localStorage.setItem("myvariable", "myvalue");
      var item = win.localStorage.getItem("myvariable"); // why not win.localStorage["myvariable"]
      document.getElementById("result").innerHTML=item;
      

      localStorage 是 window 对象的属性,而您正尝试使用 document 对象访问它

      请注意,此数据只能从保存它的同一域的文档中访问。因此,如果 win.document 来自 www.yahoo.com,当您将值放入 localStorage 时,win.localStorage.getItem("myvariable") 将只返回来自 www.yahoo.com/* 的文档的值

      【讨论】:

      • 对不起,我认为您误会了。我不是在制作网页,而是使用 Mozilla 的 xulrunner 制作一个独立的应用程序。所以这在我的情况下不起作用。
      • 啊……好的。我认为这是一个扩展
      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 2011-06-04
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2014-06-04
      • 2011-09-10
      • 1970-01-01
      相关资源
      最近更新 更多