1

我不是程序员,但我的工作需要我一次打开多个标签。每当我在选项卡中找到某个单词时,我都需要将其关闭。 在此处输入图像描述

一个示例是关闭此页面的选项卡:http ://ebay.com/itm/292769440348 ,如果其中包含“结束”一词。我目前正在尝试以下脚本,但即使未检测到“结束”一词,该选项卡也会关闭。

浏览器:Brave 和 Chrome 扩展:Tempermonkey

$("div:contains('ended')").each(function()
{
   window.close()
});

你能解释一下我的代码中哪一部分有问题吗?

4

3 回答 3

3

试试这个例子:

if(document.body.innerText.replace(/\s+/g,' ').includes('end')){
   window.close()
}
于 2019-09-10T06:09:53.303 回答
2
var body = document.querySelector('body');
if (body.innerText.indexOf('ended') > -1) {
    window.close()
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

于 2019-09-10T06:19:31.100 回答
2

并非所有网站都使用 jQuery,因此您的代码仅适用于某些网站而不适用于所有网站(这并不是说它首先是正确的)。然而幸运的是,如果没有 jQuery ,正确的代码(基于Milchkanne答案)甚至更简单:

if (document.body.innerHTML.search("ended") !== -1) {
  window.close()
}
于 2019-09-10T06:12:21.363 回答