【发布时间】:2016-02-23 19:04:33
【问题描述】:
当您在 Facebook 聊天中链接到某个网站时,我总是单击小 x,这样预览就会消失。我讨厌这样做,因为我每天可能发送数百个链接,而预览只是垃圾 9/10 次。
我正在创建一个用户脚本来解决这个问题,但由于它是动态加载的,我不能在按钮出现时简单地单击它。这是我想点击按钮时的样子:
$(".fbNubFlyoutAttachments").find("button:contains('Remove')").click();
基本上它会找到 fbNubFlyoutAttachments 类,然后找到包含“Remove”的按钮。然后它单击元素,预览消失。很简单。
但是,当我要检查链接何时发布时......我们在这里遇到了一些棘手的问题。这是我迄今为止尝试过的:
$(document).bind("DOMSubtreeModified ", ".fbNubFlyoutAttachments", function(){
$(".fbNubFlyoutAttachments").find("button:contains('Remove')").click();
});
但是。 $(document).bind("DOMSubtreeModified" 触发了很多,因为 DOM 变化很大,这导致堆栈几乎立即被填充,然后页面冻结。最好只做$(".fbNubFlyoutAttachments").bind("DOMSubtreeModified",但这是不可能的(据我所知)。
这是我目前所做的,它有效,但可能需要一秒钟才能触发,并且它正在使用计算资源而不需要它:
setInterval(function() {
$(".fbNubFlyoutAttachments").find("button:contains('Remove')").click();
}, 1000);
我怎样才能通过我的用户脚本很好地做到这一点?任何帮助表示赞赏!谢谢。
【问题讨论】:
标签: javascript greasemonkey userscripts tampermonkey