scriptcat-mv3/example/gm_value/gm_value_2_bg.js
2025-04-10 18:07:35 +08:00

33 lines
1.0 KiB
JavaScript

// ==UserScript==
// @name gm value storage 读取与监听方 - 后台脚本
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description 多个脚本之间共享数据 读取与监听方 - 后台脚本
// @author You
// @run-at document-start
// @grant GM_getValue
// @grant GM_addValueChangeListener
// @grant GM_listValues
// @grant GM_cookie
// @storageName example
// @background
// ==/UserScript==
return new Promise((resolve) => {
GM_addValueChangeListener("test_set", function (name, oldval, newval, remote, tabid) {
console.log("value change", name, oldval, newval, remote, tabid);
// 可以通过tabid获取到触发变化的tab
// GM_cookie.store可以获取到对应的cookie storeId
GM_cookie("store", tabid, (storeId) => {
console.log("store", storeId);
});
});
setInterval(() => {
console.log("test_set: ", GM_getValue("test_set"));
console.log("value list:", GM_listValues());
}, 2000);
// 永不返回resolve表示永不结束
// resolve()
});