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