javascript - 网站内容更改后重新加载内容

标签 javascript google-chrome google-chrome-extension

我正在开发一个 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/

相关文章:

html - 在 chrome 中缩放没有空白的嵌入式 svg

javascript - 导航到新链接时内容脚本无法运行

javascript - 在 Chrome 应用程序中重用 UDP 套接字的地址

javascript - Chrome.storage.local 得到错误的值

javascript - 下拉菜单因引用而不起作用

javascript - 这是用于制作将各种方法封装到不同对象中的命名空间的正确 javascript 吗?

c# - MVC5中如何获取复选框选中项的值?

javascript - 为什么它没有根据 if 语句从数组中删除对象?

css - Chromium 和 Google Chrome 中的 Ubuntu 字体不同

javascript - 如何在node.js环境中规范化来自网页的html文档,例如tbody?