首页  >  问答  >  正文

MutationObserver无法在本地主机上正常运行

<p><strong>TL;DR:由于某种原因,MutationObserver在我的页面上根本不触发。相同的控制台代码片段在其他页面上有效,但在我的本地主机上运行时却无效。</strong></p> <hr /> <p>我正在一个使用webpack构建的标准react SPA上工作,它在本地主机上运行。</p> <p>现在我正在尝试在我的页面上使用https://github.com/KingSora/OverlayScrollbars,它们大部分工作正常,只是似乎无法自动检测内容更改。 通过一些调试,我注意到内部使用的MutationObserver根本不触发。</p> <p>然后我开始进一步调查,并在我的页面上使用了这个代码片段:</p> <pre class="brush:js;toolbar:false;">let obs = new MutationObserver(changes => console.log('changes:', changes)); obs.observe($0, { attributes: true, attributeOldValue: true, subtree: true, childList: true, characterData: true, }); </pre> <p>然而,无论我如何修改节点($0)或任何其他子节点,观察者都不会触发。</p><p> <strong>然而,在其他页面上使用相同的代码片段完全正常!</strong></p> <p>现在我完全不知道这是怎么发生的,所以任何帮助或者只是想法都将不胜感激!</p>
P粉894008490P粉894008490436 天前557

全部回复(1)我来回复

  • P粉164942791

    P粉1649427912023-09-01 12:08:38

    好吧,这是一个典型的案例,“你试过重新启动你的电脑吗” - 或者在这种情况下是Chrome。

    一旦我重新启动了Chrome,这个相同的代码片段就开始工作了(只是打开一个新的标签页是不够的 - 我必须完全重新启动Chrome)。

    所以我猜测Chrome中的一些问题导致了一个bug,并破坏了我页面上的观察者,所以我希望它现在会继续正常工作 :-/

    回复
    0
  • 取消回复