1

Mac および Linux ユーザーには完全に機能する Chrome 拡張機能がありますが、Windows ユーザーには機能しません。コンソールに入って localStorage に項目を設定すると正常に動作しますが、ユーザーが拡張機能を使用しようとすると、実際のコードを介して項目が localStorage に設定されません。

私の現在の仮説は、を使用すると機能するwindow.localStorage 可能性があるというものですが、それを裏付けるデータはありません。

なぜそれが機能するか機能しないかについて、ここに誰かが色を追加できますか?

4

1 に答える 1

2

拡張機能のグローバル コンテキストが、通常の Javascipt アプリとは逆のオブジェクトでないwindow場合は、それを参照する必要があります。

また、ツリー ウォークを節約するためにキャッシュすることもできます。

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

これで、プレフィックスなしで同じコードを使用できるようになります。

(Chrome 拡張機能には別の類似したストレージ メカニズムがあると思います)。

これも興味深いかもしれません:
https://developer.chrome.com/extensions/storage.html

于 2013-06-17T05:47:15.083 に答える