如何在AJAX更新后运行Greasemonkey函数?

时间:2012-04-13 03:17:24

标签: jquery ajax greasemonkey

我有一个GM脚本,可以在Facebook页面上的某些超链接旁边添加按钮。但是,任何AJAX更新都会破坏页面该部分的按钮(即,当您单击“查看更多注释”时 - 该线程上的所有按钮都会消失)

希望做什么:
某些AJAX操作完成后重新运行我的GM功能 - 主要是在查看更多评论时加载一个新页面(即单击到另一个组页面,这是所有AJAXed)

目前在做什么:
有一个30秒的循环,每30秒重新运行一次我的代码。不理想。设置较短的循环只会导致滞后 编辑 - 它实际上会生成越来越多的按钮。超级不理想

如何提供帮助:
在AJAX完成加载后,我应该使用什么代码来触发我的函数?我应该怎么做,以便我的代码只针对我想要的AJAX更新,例如“新页面”和“新页面”。 '更多评论'更新?
编辑 - 我需要仅在更新的位上重新运行我的代码(这是否可能?)

注意:
我搜索了一下,找到了普通jQuery,asp.net等的数字答案,但不是GM-jQ组合。

1 个答案:

答案 0 :(得分:12)

这是一个常见问题。

使用this answer中显示的waitForKeyElements()功能。

默认情况下,它将处理您通过jQuery选择器指定的类型的每个新元素,每个元素一次,并且在新元素出现的毫秒内。

~~~
链接到目标页面并准确指定您为更具体的应用程序所做的操作。