在使用Greasemonkey/Tampermonkey脚本时,可以通过以下方法在指定选项卡中运行脚本,而不影响其他选项卡:
GM_info
对象中的script
属性的tab
属性来获取当前脚本所在的选项卡ID。例如:var currentTabId = GM_info.script.tab.id;
GM_getTabs
函数获取所有已打开的选项卡。这将返回一个包含所有选项卡信息的数组。以下是一个示例脚本,用于在指定选项卡中运行脚本:
// ==UserScript==
// @name 在指定选项卡中运行脚本
// @namespace yourNamespace
// @version 1.0
// @description 在指定选项卡中运行脚本,不影响其他选项卡
// @match https://example.com/*
// @grant GM_info
// @grant GM_getTabs
// ==/UserScript==
(function() {
'use strict';
// 获取当前选项卡ID
var currentTabId = GM_info.script.tab.id;
// 获取所有选项卡
GM_getTabs(function(tabs) {
// 遍历选项卡
for (var i = 0; i < tabs.length; i++) {
var tab = tabs[i];
// 判断当前选项卡是否为目标选项卡
if (tab.id === currentTabId) {
// 在目标选项卡中执行脚本
// TODO: 在此处编写要在目标选项卡中执行的代码
console.log('脚本在目标选项卡中运行');
}
}
});
})();
请注意,在以上示例中,https://example.com/*
是匹配要运行脚本的网址的匹配模式。您可以根据实际情况进行修改。
这是一个基本的示例,您可以根据具体需求进行更进一步的定制和扩展。
领取专属 10元无门槛券
手把手带您无忧上云