【问题标题】:Is there a simpler method to storage data for chrome apps有没有更简单的方法来存储 chrome 应用程序的数据
【发布时间】:2013-11-19 00:18:06
【问题描述】:

我一直在尝试寻找一种简单的解决方案(如 HTML5 localstorage)来存储 Chrome 应用程序的数据。 我看到他们有复杂的存储机制@http://developer.chrome.com/apps/storage.html,但我讨厌这种方法,因为检索数据是异步的。要检索数据,我必须执行类似的操作。

chrome.storage.local.get(key,function(data){console.log(data)});

我讨厌这种方法,因为我无法以简单的方式分配变量。

Chrome 打包应用不支持 window.localStorage.setItem(); window.localStorage.getItem();

【问题讨论】:

  • 欢迎使用 Javascript。与其对抗异步性,你最终必须接受它。看看使用 Promise 作为回调的替代方案。
  • 使用chrome.storage.local 真的很乏味我可以使用全局变量作为最后的手段,但我有更好的选择。
  • 习惯了就不乏味了 :) 我第一次接触chrome.storage时也是这么想的。但事实是,一旦你习惯了它(并且可能经历了一次不平凡的应用程序重构以适应异步模型),你会发现它很酷,速度很快,它的未来:) 说真的,拥抱异步(正如pinoyyid所说)!请记住,全局变量不提供相同的功能(这并不意味着它们不足以完成手头的任务)。

标签: javascript google-chrome google-chrome-extension google-chrome-app


【解决方案1】:

虽然它可能不是最佳实践,但您可以使用

localStorage.setItem('test', 'value');
localStorage.getItem('test'); // == value

在 localStorage 中存储对象时要小心 - 你需要先对它们进行 JSON 编码。

【讨论】:

  • 很遗憾,Chrome 打包应用不支持它。
  • 道歉。我知道它适用于扩展程序,但显然不适用于应用程序。
【解决方案2】:

由于 localStorage 已禁用,因此最终使用 sessionStorage

【讨论】:

    猜你喜欢
    • 2019-12-24
    • 2014-02-08
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2015-11-29
    相关资源
    最近更新 更多