Chome升级到127版本后,绑定DOMNodeInserted事件失败,控制台报错:
[Deprecation] Listener added for a 'DOMNodeInserted' mutation event. Support for this event type has been removed, and this event will no longer be fired. See chromestatus.com/feature/508… for more information.
通过给的链接查看详情后,发现由于页面性能(page performance)等原因,Chrome已经废弃了以下事件:
DOMSubtreeModified,DOMNodeInserted,DOMNodeRemoved,DOMNodeRemovedFromDocument,DOMNodeInsertedIntoDocument, andDOMCharacterDataModified,
解决方案:
1、修改修改系统设置,重新启用已废弃或移除的事件
参考:Chrome Enterprise policy list and management | Documentation
windows系统需要修改注册表,Software\Policies\Google\Chrome\MutationEventsEnabled,设置为:0x00000001
Mac/Linux preference name:MutationEventsEnabled 值:true
此方法为临时解决方案,Chrome将在135版本后完全取消对MutationEvents的支持。
2、迁移代码
【方法一】、使用MutationObserver 代替,具体参考以下链接
documentation forMutationObserveris located on MDN
【方法二】、使用Polyfill
<script src="mutation_events.min.js"></script>
<div id=target></div>
<script>
target.addEventListener('DOMNodeInserted',() => {
// your code
});
</script>
> > ```