【问题标题】:Moving database format from Chrome to Firefox将数据库格式从 Chrome 迁移到 Firefox
【发布时间】:2011-05-24 20:38:51
【问题描述】:

我有一个 Chrome 扩展程序,它在 localStorage 变量中存储带有 json 字符串的数据。我正在尝试为 Firefox 创建这个扩展的一个版本。但在 Firefox 中,localStorage 似乎不适用于扩展。

有没有办法简单地在 Firefox 中持久存储一个 json 字符串?谢谢。

【问题讨论】:

  • 插件不应该有本地持久存储吗?你知道..使用加载插件的文件..你可以写给他们。
  • 我不确定你的意思。您指的是哪些文件?
  • 也许他的意思只是使用您的插件所在的文件夹。请参阅developer.mozilla.org/en/Code_snippets/… 但是由于现在大多数插件都是 xpi 而不是文件夹,我认为这不是最好的方法。
  • 您可以做的另一件事是将其存储在首选项中。我知道一些插件可以做到这一点。对我来说,这似乎是对偏好系统的滥用,但还有更严重的罪行......

标签: javascript firefox google-chrome firefox-addon


【解决方案1】:

如果你使用 Firefox 的 Addon SDK 来做你的扩展,你可以使用内置的 simple-storage module。它公开了一个 storage 对象,您的代码可以将其视为常规 javascript 对象,但 Firefox 会为您持久存储它。

一个简化的例子如下:

// load the simple storage module
var storage = require('simple-storage').storage;

// write a value to the key "bacon"
storage.bacon = JSON.stringify({"tasty": "is bacon"});

// do stuff, retrieve the value later and pass it to a function
eat(storage.bacon);

即使在以后的会话中,storage.bacon 中的值也可用于扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 2011-02-17
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多