Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 如何使变量在使用google chrome开发者控制台时跨选项卡可见_Javascript_Google Chrome_Google Chrome Devtools - Fatal编程技术网

Javascript 如何使变量在使用google chrome开发者控制台时跨选项卡可见

Javascript 如何使变量在使用google chrome开发者控制台时跨选项卡可见,javascript,google-chrome,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Devtools,我有一个脚本,通常在chrome开发者控制台上打开的选项卡上执行 我的一些变量对所有选项卡都是通用的 如何使变量在选项卡中可见,以便共享常用变量?您可以使用任何,我建议使用会话存储/本地存储。然后,在sessionStorage/localStorage中更改的任何键都会为同一域中的所有选项卡触发Storage事件 将处理程序添加到存储: if (window.addEventListener) { window.addEventListener("storage", h

我有一个脚本,通常在chrome开发者控制台上打开的选项卡上执行

我的一些变量对所有选项卡都是通用的

如何使变量在选项卡中可见,以便共享常用变量?

您可以使用任何,我建议使用
会话存储
/
本地存储
。然后,在
sessionStorage
/
localStorage
中更改的任何键都会为同一域中的所有选项卡触发
Storage
事件

将处理程序添加到存储:

if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};
在这个
handle\u storage
中,我们将收听例如
global\u storage\u vars
键,以了解哪些vars是共享的<代码>存储所有浏览器选项卡的事件触发:

function handle_storage(e){
    e = e || window.event;

    //key that changed  e.key;
    //old value         e.oldValue;
    //new value         e.newValue;
    
    if (e && e.key === 'global_storage_vars') {
        console.log('The global vars changed to:', e.newValue);
        //here you can get a needed shared variable and do what you want
    }   
}
示例

第一个标签-

第二个标签-

在第一个选项卡控制台中运行
localStorage.setItem('global\u storage\u vars',{a:1})
并检查第二个选项卡

跨具有不同域的所有选项卡访问:
您可以创建一个Chrome扩展,它可以访问所有选项卡。

不可能。每个选项卡都是独立的沙盒。如果所有站点都位于同一位置,则可以使用localStoragedomain@LegoStormtroopr谢谢你提供的信息。谢谢@surajck,但是这些网站都在d/t域上。我很感激你给我的提示,因为我也不知道这个功能;它还可以帮助其他用户查找此信息,但它无法回答我的问题。您是否在
控制台中尝试过此功能?我创建了一个2个fiddle:and并在控制台
localStorage.setItem('global\u storage\u vars',{a:1})
中运行。所有的工作都是因为你在同一个域
fiddle.jshell.net
Ok,我不理解,我想我在同一个域。您可以创建一个Chrome扩展,它可以访问所有选项卡。