我写了一个Greasemonkey脚本,它会影响Facebook上首次加载的帖子。 但是在向下滚动Feed后,脚本无法在新加载的帖子上运行。
有没有办法为这些帖子重新运行脚本,或类似的东西?有谁可以帮助我?
答案 0 :(得分:7)
<强>更新强>
这个问题和答案非常陈旧DOMSubtreeModified
is deprecated
我不再推荐这种方法。相反,请参阅:
MutationObserver
。旧回答:
是的,因为您使用的是Firefox,所以可以触发DOMSubtreeModified
事件。
为此,首先将当前脚本的代码部分包装在函数中;例如:
// ==UserScript==
// @name Facebook Fixer
// ==/UserScript==
function LocalMain ()
{
//--- Do all of your actions here.
}
LocalMain (); //-- Fire GM script once, normally.
接下来,找到包含新加载的帖子的节点。假设您发现它是div
且ID “All_posts_go_here”(我不使用Facebook,请确保找到正确的节点,并且不要使用{{1} ,浏览器将慢慢爬行。)
一旦确定了正确的节点,就可以设置事件监听器。但是,您还需要一个短暂的时间延迟,因为节点一次变化数百个,您需要等到当前批次完成。
所以,把它们放在一起,代码看起来像这样:
body
请注意,我假设节点不是iframe。如果是,则可能需要采用不同的方法。