Chrome Devtools - 使变量可跨多个 Windows
Chrome Devtools - Make variable accessible across Multiple Windows
有没有办法让一个变量可以跨多个 windows 访问?我想使用来自不同域的 Chrome Devtools 控制台。谢谢~
你不能那样做。您需要某种服务器端组件才能拥有 "sharable" 变量。
但是,您可以使用 PouchDB 之类的东西来连接。
来自文档的示例:
var db = new PouchDB('dbname');
db.put({
_id: 'dave@gmail.com',
name: 'David',
age: 69
});
db.changes().on('change', function() {
console.log('Ch-Ch-Changes');
});
假设您在同一个域中,它将起作用。
我不认为你可以使用内置的开发工具来做到这一点,但你可以使用 Tampermonkey 来实现它,这是一个允许跨域存储(以及许多其他东西)的扩展。对其进行设置,使其在 window
上公开用于设置和获取数据的接口:
// ==UserScript==
// @name Shared Data
// @include *
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==
unsafeWindow.set = (prop, val) => GM_setValue(prop, val);
unsafeWindow.get = (prop) => GM_getValue(prop);
然后您可以在控制台中输入 set
和 get
以轻松地跨域设置和获取值:
有没有办法让一个变量可以跨多个 windows 访问?我想使用来自不同域的 Chrome Devtools 控制台。谢谢~
你不能那样做。您需要某种服务器端组件才能拥有 "sharable" 变量。
但是,您可以使用 PouchDB 之类的东西来连接。
来自文档的示例:
var db = new PouchDB('dbname');
db.put({
_id: 'dave@gmail.com',
name: 'David',
age: 69
});
db.changes().on('change', function() {
console.log('Ch-Ch-Changes');
});
假设您在同一个域中,它将起作用。
我不认为你可以使用内置的开发工具来做到这一点,但你可以使用 Tampermonkey 来实现它,这是一个允许跨域存储(以及许多其他东西)的扩展。对其进行设置,使其在 window
上公开用于设置和获取数据的接口:
// ==UserScript==
// @name Shared Data
// @include *
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==
unsafeWindow.set = (prop, val) => GM_setValue(prop, val);
unsafeWindow.get = (prop) => GM_getValue(prop);
然后您可以在控制台中输入 set
和 get
以轻松地跨域设置和获取值: