如何检查浏览器对功能/事件的支持?

时间:2011-04-19 07:50:53

标签: javascript jquery mutation-events

过去,我们使用浏览器嗅探来推断某些事件或功能是否可用。我知道浏览器嗅探已被“弃用”或“避开”,以支持功能嗅探。我想知道如何检查是否可以处理某个事件。

DOMNodeInserted为例。它受Chrome,FF和Safari的支持,但不受IE支持。如果此活动可用,我该如何嗅闻?有图书馆吗?你们怎么做适当的功能嗅探?

3 个答案:

答案 0 :(得分:5)

你无法检测到突变事件,而且现代化不适用于此(因为人们会将这种情况作为事实答案吐出来)。

“检测”对突变事件的支持的唯一方法是尝试触发事件。伪代码:

var div = document.createElement('div'), supported = false;
div.addEventListener('DOMNodeInserted', function(){ supported = true; });
div.appendChild(div.cloneNode(true));

请注意,如果代码是线性代码,则上述代码将无法正常工作,因为事件侦听器是异步的。但是,一般的想法是有效的,也许最好用回调来实现。

答案 1 :(得分:3)

答案 2 :(得分:0)

要回答通用 - 如何进行功能嗅探 - 我使用jQuery.support对象。