页面更新时触发功能(无限滚动)

时间:2014-11-29 02:19:50

标签: javascript jquery google-chrome google-chrome-extension

我目前正在开发Chrome扩展程序,用于修改用户使用无限滚动的Tumblr仪表板上的内容。但是,每当使用向下滚动时,函数都需要再次运行。

这是我现在如何使用它的基本工作:

  • 用户加载页面
  • 扩展程序修改页面上的元素
  • 用户向下滚动
  • 触发无限滚动
  • 下一页加载到当前的
  • 以下
  • 更多内容加载

在最后一步之后,我需要再次触发第2步并修改新内容。

我已尝试.bind元素,例如整个<body>,元素周围的容器div,但无济于事。

如何触发某个功能,以便在页面内容发生变化时运行(特别是Tumblr仪表板)?

顺便说一句,jQuery很好。

2 个答案:

答案 0 :(得分:1)

您应在内容脚本中设置MutationObserver,以观察您要修改的元素的插入。

有关详细信息,请参阅this question

此外,Mutation Summary library可能适用于您的情况。

答案 1 :(得分:0)

您可以尝试jQuery.ajaxComplete。只要有ajax请求完成,它就会运行。你可以有像

这样的东西
$( document ).ajaxComplete(function( event, xhr, settings ) {
    if (settings.url === 'tumblr.com/update') { //obviously change the update url
        //do your thing
    }
});

当然,最好的方法是找到在滚动上触发的实际函数,并修改它以激发你的成功。但是试一试。