Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';Microsoft Edge中webextensions中的选项和后台之间无法通信_Javascript_Microsoft Edge_Firefox Addon Webextensions_Browser Addons_Webextension Storage - Fatal编程技术网

Javascript Can';Microsoft Edge中webextensions中的选项和后台之间无法通信

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的存储。我

我正在为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中设置了一些值:

并在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),以防止使用普通对象作为键值存储时出现陷阱**