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

14
我有一个GM脚本,在Facebook页面上的某些超链接旁边添加了按钮。然而,任何AJAX更新都会破坏该部分页面中的按钮(即当您点击“查看更多评论”时,该主题上的所有按钮都会消失)。
我想做什么: 在某些AJAX操作完成后重新运行我的GM函数 - 主要是在查看更多评论和加载新页面时(例如单击到不同的组页面,这都是通过AJAX完成的)
我目前的做法: 有一个30秒的循环,每30秒重新运行我的代码。 不理想。 设置更短的循环只会导致延迟 编辑-它实际上会制作更多的按钮。 超级不理想!
你可以怎么帮助我: 我应该使用什么代码来在AJAX完成加载某些内容后触发我的函数? 我应该做什么,以便我的代码仅在我期望的AJAX更新(如“新页面”和“更多评论”更新)时触发? 编辑-我需要仅在更新的部分上重新运行我的代码(这是可能的吗?)
备注: 我已经搜索了一些答案,例如纯jQuery、asp.net等,但没有找到GM-jQ组合的答案。
1个回答

14

这是一个常见问题。

按照此答案所示,使用waitForKeyElements()函数。

默认情况下,它会处理每个新的元素,类型由jQuery选择器指定,每个元素仅一次,并且在该新元素出现的毫秒数内。

~~~
链接到目标页面并指定您正在进行的确切应用程序以获取更加具体的应用。


谢谢您,好先生@brock - 我会试一试看看效果如何。至于具体细节,我已经在我的问题顶部解释过了。任何Facebook页面,我都会在某些超链接旁边插入一个按钮(确切地说是为了DotD的集结呼声)。 - RozzA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接