我正在开发一个 Chrome 扩展。我的后台脚本和内容脚本都会在页面加载时加载,但我面临的问题是例如在 Facebook 或 Twitter 上,当我向下滚动并且网站动态地将新内容添加到页面时。我的后台脚本和内容脚本无法识别该页面已加载新内容并且没有执行其应该执行的操作。
有什么方法可以检测新内容并使后台脚本重新启动吗?
我的后台脚本在 list 中设置为persistent: true
,我希望这会做一些有用的事情,但显然不会。任何帮助表示赞赏。谢谢。
最佳答案
具有无限滚动功能的网站会动态向页面添加新内容,而不更改其网址(即不使用history.pushState/popState),因此内置的 chrome.webNavigation API 将无法工作。
在这种情况下,既定的惯例是使用 MutationObserver附加到 document.body
或附加新内容的容器元素。
或者,您可以为站点的 js 框架使用的事件添加监听器,例如 facebook 上的 FB.Event 或 github 上的 pjax 事件。
关于javascript - 网站内容更改后重新加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31887706/