web-dev-qa-db-ja.com

Google chrome拡張機能:ローカルストレージ

Google Chromeの拡張機能を開発していますが、問題が発生しました。options.htmlページを作成し、manifest.jsonファイルに追加しました。ページは正しく表示されます。

オプションを保存してから、拡張機能が実行されるはずのページに戻りました。

残念ながら、オプションのローカルストレージはオプションの代わりに「null」を返していました。拡張機能のJSスクリプトから直接ローカルストレージオプションを設定した場合、正常に機能しますが、オプションページから設定した場合は機能しません。

拡張機能のJavascriptファイルからoptions.htmlローカルストレージ値にアクセスする方法はありますか?

14
Rohan

次のいずれかを使用して設定しましたか?

localStorage["var"]=data;

または

localStorage.var=data;

を使用してそれらをロードしていますか

var myvar = localStorage.var;

あなたはAPIを見ることができます ここ

24
leegeorg07

正しい方法は次のとおりです。

if (typeof(localStorage) == ‘undefined’ ) {
  alert(‘Your browser does not support HTML5 localStorage. Try upgrading.’);
}
else {
  try {
    localStorage.setItem(“name”, “Hello World!”); //saves to the database, “key”, “value”
  }
  catch (e) {
    if (e == QUOTA_EXCEEDED_ERR) {
      alert(‘Quota exceeded!’); //data wasn’t successfully saved due to quota exceed so throw an error
    }
  }
  document.write(localStorage.getItem(“name”)); //Hello World!
  localStorage.removeItem(“name”); //deletes the matching item from the database
}

参照: http://html5tutorial.net/tutorials/working-with-html5-localstorage.html

14
DJ'