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

时间:2015-09-24 21:40:34

标签: javascript tabs automation greasemonkey bots

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

2 个答案:

答案 0 :(得分:1)

  • 通常不能通过用户脚本进行操作,因为现代浏览器会阻止关闭标签/窗口的尝试(Firefox有一个配置值允许它,但并非所有用户都愿意启用它)。您必须将用户脚本转换为扩展/插件。

  • 如果您不介意更改默认浏览器配置以允许脚本关闭标签,请使用GM_setValue引发一个标记,该标记将由您的脚本在其他标签中定期检查:< / p>

    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实际上包含其他标签的网址。

答案 1 :(得分:1)

我找到了一种方法来实际执行此操作,该功能可以检测URL并为其执行特定功能然后将其关闭。这是代码......

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

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