使用 JavaScript 或 greasemonkey 关闭当前选项卡右侧的所有选项卡?

Close all tabs to right of current tab with JavaScript or greasemonkey?

我目前正在编写一个机器人来为我做一些事情,目前它必须在每次迭代中打开大量选项卡并使机器人完全自动化我必须找到一种方法来关闭它们,除了原来的该机器人来自 运行。 (必须在下一次迭代之前关闭选项卡,否则它正在做的事情会失败。)

  • 通常无法通过用户脚本实现,因为现代浏览器会阻止关闭 tabs/windows 的尝试(Firefox 有一个允许它的配置值,但并非所有用户都愿意启用它)。您必须将用户脚本转换为 extension/addon.

  • 如果您不介意更改默认浏览器配置以允许脚本关闭选项卡,请使用 GM_setValue 设置一个标志,您的脚本会在其他选项卡中定期检查该标志:

    var dontCloseMe = false;
    
    setInterval(function() {
        var shouldClose = Date.now() - GM_getValue("terminate", 0) < 2 * 100;
        if (shouldClose && !dontCloseMe) {
            window.close();
        }
    }, 100);
    
    .................
    
    if (shouldCloseOtherTabs) {
        dontCloseMe = true;
        GM_setValue("terminate", Date.now());
    }
    

    并确保 // @include 实际上包含其他选项卡的网址。

我找到了一种方法来实际执行此操作,使用一个函数来检测 URL 并为此执行特定函数,然后将其关闭。这是代码...

if (window.location.href.indexOf("https://www.google.com") != -1) {

所以这会检测到我的 URL 包含某个字符串,因此会在 URL 之后的所有页面上激活。它适用于我想要的。