在什么情况下调用 Parse HTML 事件?

Under what conditions does the Parse HTML event get called?

我正在尝试调试具有多个 backbone 视图的 HTML 页面呈现中的瓶颈。我使用了 Chrome Dev Tools 的时间线分析器并看到了大量的 Parse HTML 事件。我的问题是:

这是否必然意味着 DOM 每次都被触摸,或者在分离的 jquery 对象中操作 HTML 时是否也会触发 Parse HTML 事件?

免责声明:我对 backbone 一无所知,只知道它是一个框架。

可以表示DOM每次都被触动,但不一定。当您加载 HTML 文档时,以及当您使用其中一个 innerHTMLouterHTMLinnerText insertAdjacentHTML, DOMParser 接口不过这些只是冰山一角。很多东西都会触发 parse HTML 事件。

例如:

setInterval(function(){
  var parser = new DOMParser();
  parser.parseFromString('<p>lorem</p>','text/html');
},5000);

这将每 5 秒触发一次 HTML 解析器,但不会触及 DOM。 但是当你使用例如 document.body.innerHTML = '<p>Hello</p>' 您将触发解析事件以及触摸 DOM。 因此,即使您没有直接接触 DOM.

,也可以进行解析事件