我正在为Microsoft Edge构建扩展。我有一个选项页面,该页面将某些值保存到localStorage中,例如:
localStorage.setItem('xxx', document.getElementById("xxx").value);
并在后台脚本中检索它们:
var value1 = localStorage.getItem('xxx');
除了Edge,在所有浏览器中都可以正常工作。我必须关闭Edge,然后重新打开它,然后它才能更新background.html的存储。我检查了options.html和background.html,发现更新选项存储不会影响背景,这很奇怪,因为它们必须共享相同的存储。
是否有解决该问题的方法?
我在options.js中设置了一些值:
chrome.storage.local.set({['xxx']:document.getElementById('xxx').value});
并在background.js
中创建侦听器以跟踪实时更改:
chrome.storage.onChanged.addListener(function(changes, namespace) {
for(var key in changes) {
window[key] = changes[key].newValue;
}
});