在单页应用程序上捕获DOM重新呈现

时间:2019-04-18 17:51:43

标签: javascript jquery google-chrome

在单页应用程序(例如Youtube)上,由于页面加载仅发生一次,因此很难捕获页面加载事件。 DOM组件的任何重新渲染都不会触发窗口事件。 DOM重新呈现的最实用方法是什么? (例如,轮询DOM更改)

我尝试过

window.addEventListener("popstate");
window.addEventListener("DOMContentLoaded");
window.addEventListener("hashchange");
window.addEventListener("beforeunload");
window.addEventListener("message");
window.addEventListener("load");

popstate在浏览器中前进或后退时起作用。其他人根本不开火。我正在考虑将“卸载”事件放到DOM元素上,并进行火警回调以将“卸载”注册到另一个新呈现的DOM元素。但这也不太实用

所以我想要的是一种在单个页面应用程序上有效捕获DOM重新呈现的方法

1 个答案:

答案 0 :(得分:1)

使用MutationObserver,您可以检测到DOM树中的任何更改。