Javascript Can';Microsoft Edge中webextensions中的选项和后台之间无法通信
我正在为Microsoft Edge构建一个扩展。我有一个选项页面,它将一些值保存到localStorage,如下所示:Javascript Can';Microsoft Edge中webextensions中的选项和后台之间无法通信,javascript,microsoft-edge,firefox-addon-webextensions,browser-addons,webextension-storage,Javascript,Microsoft Edge,Firefox Addon Webextensions,Browser Addons,Webextension Storage,我正在为Microsoft Edge构建一个扩展。我有一个选项页面,它将一些值保存到localStorage,如下所示: localStorage.setItem('xxx', document.getElementById("xxx").value); 并在后台脚本中检索它们: var value1 = localStorage.getItem('xxx'); 在除Edge之外的所有浏览器中都能正常工作。我必须关闭Edge,重新打开它,然后它才会更新background.html的存储。我
localStorage.setItem('xxx', document.getElementById("xxx").value);
并在后台脚本中检索它们:
var value1 = localStorage.getItem('xxx');
在除Edge之外的所有浏览器中都能正常工作。我必须关闭Edge,重新打开它,然后它才会更新background.html的存储。我检查了options.html和background.html,发现更新选项存储不会影响后台,这很奇怪,因为它们必须共享相同的存储
有解决这个问题的方法吗?所以,我找到了一个适合我的解决方案。 我使用本地存储而不是本地存储,并获得实时选项后台通信 我在options.js中设置了一些值: 并在background.js中创建侦听器以跟踪实时更改:
chrome.storage.onChanged.addListener(function(changes, namespace) {
for(var key in changes) {
window[key] = changes[key].newValue;
}
});
所以,我找到了一个适合我的解决方案。 我使用本地存储而不是本地存储,并获得实时选项后台通信 我在options.js中设置了一些值: 并在background.js中创建侦听器以跟踪实时更改:
chrome.storage.onChanged.addListener(function(changes, namespace) {
for(var key in changes) {
window[key] = changes[key].newValue;
}
});
尝试使用“”和“”方法设置和获取值,更多详细信息,请检查:**建议使用Web存储API(setItem、getItem、removeItem、key、length)以防止与使用普通对象作为键值存储相关的陷阱。**尝试使用“”和“”方法设置和获取值,更多详细信息,请查看:**建议使用Web存储API(setItem、getItem、removietem、key、length),以防止使用普通对象作为键值存储时出现陷阱**