Javascript 如何使变量在使用google chrome开发者控制台时跨选项卡可见
我有一个脚本,通常在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
会话存储
/本地存储
。然后,在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扩展,它可以访问所有选项卡。