window.localStorage.setItem和localStorage.setItem之间是否有任何区别?

Should there be any difference between window.localStorage.setItem and localStorage.setItem?

本文关键字:localStorage setItem 任何 区别 之间 window 是否      更新时间:2023-09-26

我有一个Chrome扩展,完美适用于Mac和Linux用户,但不适合Windows用户。当我进入控制台并在localStorage中设置一个项目时,它工作得很好,但是当用户试图使用扩展时,项目不会通过我的实际代码在localStorage中设置。

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

这里有人能添加颜色,为什么这可能工作或不工作?

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

您也可以缓存它,以节省一些树走:

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

现在您应该能够使用相同的代码而不加前缀。

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

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