DOM Mutation Observers 的跨浏览器支持情况如何?

Posted

技术标签:

【中文标题】DOM Mutation Observers 的跨浏览器支持情况如何?【英文标题】:What's the state of cross-browser support for DOM Mutation Observers? 【发布时间】:2012-06-13 13:50:14 【问题描述】:

我googled 但找不到答案。

此功能是否有可用的跨浏览器兼容性矩阵?

如果有人想知道答案,这里是:Mutation Observers vs Mutation Events/Browser Availability。

【问题讨论】:

请定义“此功能”。你到底想做什么? 【参考方案1】:

Ido Green 提供了答案,但为了清楚起见,我将在此处发布链接文档的相关 sn-ps。

https://developer.mozilla.org/en-US/docs/DOM/Mutation_events

DOM 突变事件现已弃用。

由于 API 的设计存在缺陷,突变事件在 DOM 事件规范中已被标记为已弃用(详情请参阅 public-webapps 的“DOM 突变事件替换:迄今为止的故事/现有共​​识点”帖子) .

避免突变事件的实际原因是性能问题和跨浏览器支持。

这些正在被 DOM Mutation Observers 取代。

https://developer.mozilla.org/en-US/docs/DOM/MutationObserver

Mutation Observers 为开发人员提供了一种对 DOM 中的变化做出反应的方法。它旨在替代 DOM3 事件规范中定义的突变事件。

A brief overview A more in-depth discussion A screencast by Chromium developer Rafael Weinstein The mutation summary library The DOM4 specification 定义了MutationObserver 接口

【讨论】:

【参考方案2】:

此功能(DOM 突变)适用于 Chrome 18。 您可以在此处查看更多详细信息:http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers

如果您想检查“任何”HTML5 功能和支持它的浏览器:http://caniuse.com/ 就是这个地方。 其他重要来源是:http://html5please.com/

【讨论】:

(因此,除了链接之外,还应提供相关的摘要和/或摘录。) 它似乎在 ios 6 中工作,虽然文章没有提到它! 这些网站都没有列出浏览器对 Mutation Observers 的支持。 这是一个可以节省额外点击次数的 caniuse 链接http://caniuse.com/mutationobserver

以上是关于DOM Mutation Observers 的跨浏览器支持情况如何?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 MutationObserver 代码不能在 Chrome 30 上运行?

Mutation Observer

jQuery/XML:使用 DOM-Mutation-Events 同步数据和表示

Mutation Observer 无法检测到元素的 dom 移除

获得从 iframe 到我无法控制的父窗口 dom 的跨域访问?

请教关于使用appscan 检测"基于DOM的跨站点脚本"漏洞修复问题