window.localStorage.setItem和localStorage.setItem之间应该有什么区别吗?

时间:2013-06-17 05:19:18

标签: javascript google-chrome google-chrome-extension local-storage google-chrome-devtools

我的Chrome扩展程序适用于Mac和Linux用户,但不适用于Windows用户。当我进入控制台并在localStorage中设置项目时它工作正常,但是当用户尝试使用扩展时,不会通过我的实际代码在localStorage中设置项目。

我目前的假设是,使用window.localStorage 可能会使其正常工作,但我没有数据支持它。

这里的任何人都可以添加颜色,说明为什么可行或不起作用?

1 个答案:

答案 0 :(得分:2)

如果扩展的全局上下文 window对象与普通的Javascipt应用程序相反,那么您将需要引用它。

你也可以缓存它以保存一些树木行走:

if (typeof localStorage === 'undefined' && window.localStorage)
    localStorage = window.localStorage;

现在你应该可以使用相同的代码而无需添加前缀。

(我相信Chrome扩展程序有一个单独但类似的存储机制。)

这也可能是有趣的:
https://developer.chrome.com/extensions/storage.html