2017-04-19 17 views
0

私はChrome拡張機能を開発しています。ユーザーが拡張機能のポップアップを閉じたときにユーザー入力データを保存したいと思います。拡張ポップアップがフォーカスを失ったときにlocal storageを使用してこれを行う信頼できる方法はありますか?ポップアップがフォーカスを失ったときにデータを保存する

+3

使用 'リスナーonbeforeunload'または単に' onchange'または 'oninput'リスナーにすぐにそれを行います。 – wOxxOm

答えて

0

私はそれを理解することができました。ポップアップアンロードコールバック(ストアの失われたフォーカスの検出)からストア関数を直接呼び出していたとき、機能しませんでした。私がバックグラウンドページでストレージを行っていたときにそれを管理しました。以下のサンプルコード:

背景スクリプト:

function storeFormDataLocally(someData) { 
    if (someData != null) { 
     chrome.storage.local.set({ 
     'someDataKey': someData 
     }, function() { 
     console.log("data saved: " + someData) 
    }); 
    } 
    } 

ポップアップ:

addEventListener("unload", function(event) { 
    var background = chrome.extension.getBackgroundPage(); 
    var someData = "My data to store"; 
    background.storeFormDataLocally(someData); 
}, true); 
関連する問題