2016-07-09 9 views
1

バックグラウンドスクリプトは、必要なときにのみ動的に実行したい。クロム拡張で背景スクリプトを動的に実行するにはどうすればよいですか?

私のバックグラウンドスクリプトは、localstroageに格納されている配列に基づいてコンテキストメニューを作成します。バックグラウンドスクリプトは読み込み時に一度しか実行されず、ユーザーが配列を更新するときにスクリプトを再実行したいlocalStroage、どうすればいいですか?

+0

"それが必要なとき"はあなたにとって意味のあるものなので、それが何を意味するのかは不明です。あなたの質問を編集して、より長い説明を与えてください。 – Xan

+0

これは優れていますが、正確ではありません。ユーザーはどのようにしてアレイを更新できますか? – Xan

+0

@xan配列には基本的にobjectとuserが含まれています。新しいオブジェクトを作成し、UIページのボタンをクリックして保存します。 popup.jsでその配列を更新して、バックグラウンドスクリプトをもう一度実行したいのですが。 – shuboy2014

答えて

1

Event pagesは、特に「ほとんど何もしないバックグラウンドページ」の問題に対処するために作成されたものです。数秒間使用しないとアンロードされ、ハンドラが登録されているイベントが発生すると再び実行されます。

ドキュメンテーションを読む - それらをどのように構造化しなければならないかについてのニュアンスがあります。また、特にコンテキストメニューの場合、onclickパラメータを使用することはできません。代わりにchrome.contextMenus.onClickedイベントを使用する必要があります。

Messagingを使用すると、他の拡張コンテキストからイベントページを起動できます。また、localStorageの代わりにchrome.storage APIを使用することを検討してください。chrome.storage.onChangedイベントが付属しています。

関連する問題