前提・実現したいこと
chrome拡張 を作成しています。
ポップアップのクローズ時にchrome.storage.locale.setを行い、ポップアップに入力中の情報を保存したいのですが、想定通り動作しません。
※ツールバーのアイコンを押下したり、ポップアップ外をクリックしてクローズしたりした場合も補足したいと考えています。
以下のソースコードでは実現不可能でしょうか。
また、上記を実現するための代替案があればご教示下さい。
該当のソースコード
js
1 2 window.addEventListener('unload', test); 3 document.addEventListener('unload', test); 4 window.unload = test; 5 document.unload = test; 6 7// ポップアップのクローズ時に以下のメソッドが呼ばれ、testというキーの情報がchrome.storageに保存されることを想定していますが、何も保存されません。 8function test() { 9 var test = { 10 test: {aaa: 111} 11 }; 12 chrome.storage.local.set(test, function() {}); 13}
上記スクリプトは以下のようにpopup.htmlに直接読み込んでいるjsファイル内に記述しています。
※別の関数は動作していることを確認しているため、このjsファイル自体が読み込まれていないという可能性はないです。
html
1<script src="js/popup.js"></script>
manifest.json 抜粋
json
1 "browser_action": { 2 "default_icon": "icon.png", 3 "default_popup": "popup.html" 4 }, 5 "permissions": [ 6 "storage" 7 ], 8 "content_scripts": [ 9 { 10 "matches": ["<all_urls>"], 11 "js": ["js/libs/jquery-2.2.2.min.js"], 12 "run_at": "document_idle" 13 } 14 ]
試したこと
- ネットの情報より、unloadならイベントを捕捉できるとありましたが想定通り動作せず。
- 上記4ケース試してみましたが、いずれも。。
回答1件
あなたの回答
tips
プレビュー