MutationObserver无法在本地主机上正常运行
P粉894008490
P粉894008490 2023-08-31 21:38:41
[HTML讨论组]

TL;DR:由于某种原因,MutationObserver在我的页面上根本不触发。相同的控制台代码片段在其他页面上有效,但在我的本地主机上运行时却无效。


我正在一个使用webpack构建的标准react SPA上工作,它在本地主机上运行。

现在我正在尝试在我的页面上使用https://github.com/KingSora/OverlayScrollbars,它们大部分工作正常,只是似乎无法自动检测内容更改。 通过一些调试,我注意到内部使用的MutationObserver根本不触发。

然后我开始进一步调查,并在我的页面上使用了这个代码片段:

let obs = new MutationObserver(changes => console.log('changes:', changes));
obs.observe($0, {
    attributes: true,
    attributeOldValue: true,
    subtree: true,
    childList: true,
    characterData: true,
});

然而,无论我如何修改节点($0)或任何其他子节点,观察者都不会触发。

然而,在其他页面上使用相同的代码片段完全正常!

现在我完全不知道这是怎么发生的,所以任何帮助或者只是想法都将不胜感激!

P粉894008490
P粉894008490

全部回复(1)
P粉164942791

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号