Greasemonkey脚本用于处理Facebook上动态加载的帖子

时间:2011-05-04 21:32:27

标签: javascript facebook greasemonkey

我写了一个Greasemonkey脚本,它会影响Facebook上首次加载的帖子。 但是在向下滚动Feed后,脚本无法在新加载的帖子上运行。

有没有办法为这些帖子重新运行脚本,或类似的东西?有谁可以帮助我?

1 个答案:

答案 0 :(得分:7)

<强>更新
这个问题和答案非常陈旧DOMSubtreeModified is deprecated 我不再推荐这种方法。相反,请参阅:



旧回答:

是的,因为您使用的是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。如果是,则可能需要采用不同的方法。