弹出窗口失去焦点时存储数据

时间:2017-04-19 07:47:57

标签: javascript google-chrome google-chrome-extension

我正在开发Chrome扩展程序,我想在用户关闭扩展程序的弹出窗口时保留用户输入数据。当扩展弹出窗口失去焦点时,有没有可靠的方法使用local storage进行此操作?

1 个答案:

答案 0 :(得分: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);