过去,我们使用浏览器嗅探来推断某些事件或功能是否可用。我知道浏览器嗅探已被“弃用”或“回避”以支持功能嗅探。我想知道如何检查是否可以处理某个事件。
以DOMNodeInserted
为例。 Chrome、FF 和 Safari 支持它,但 IE 不支持。如果此事件可用,我如何嗅探?有图书馆吗?你们如何进行适当的特征嗅探?
最佳答案
您无法检测突变事件,而 modernizr 对此不起作用(因为人们会吐出它作为事实上的答案)。
“检测”对突变事件的支持的唯一方法是尝试触发该事件。伪代码:
var div = document.createElement('div'), supported = false;
div.addEventListener('DOMNodeInserted', function(){ supported = true; });
div.appendChild(div.cloneNode(true));
请注意,如果上面的代码是线性代码,则不会按原样运行,因为事件监听器是异步的。总的想法是有效的,但是,也许最好通过回调来实现。
关于javascript - 如何检查浏览器对功能/事件的支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713220/