MutationObserver无法在本地主机上正常运行
P粉894008490
P粉894008490 2023-08-31 21:38:41
0
1
520
<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粉894008490
P粉894008490

全部回复(1)
P粉164942791

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!