Animation 检测对beginElement()的支持
我正在使用Animation 检测对beginElement()的支持,animation,svg,internet-explorer-9,modernizr,feature-detection,Animation,Svg,Internet Explorer 9,Modernizr,Feature Detection,我正在使用beginElement()在我的web应用程序中启动SVG动画: document.getElementById("item").beginElement(); 但这会在IE9及以上版本中导致以下错误: 我不介意动画不能在IE9中工作,但是我需要防止错误的发生。如何设置检查,以便仅在浏览器支持时调用beginElement()?例如: if (hasSupport) { document.getElementById("item").beginElement(); } 我
beginElement()
在我的web应用程序中启动SVG动画:
document.getElementById("item").beginElement();
但这会在IE9及以上版本中导致以下错误:
我不介意动画不能在IE9中工作,但是我需要防止错误的发生。如何设置检查,以便仅在浏览器支持时调用beginElement()
?例如:
if (hasSupport) {
document.getElementById("item").beginElement();
}
我尝试了一种检测技术:
但它总是返回false
,即使在我知道支持它的浏览器中(比如Firefox)
我还研究了使用,但它没有对
beginElement()
进行测试。您可以在执行该方法之前嗅探它是否存在
var item = document.getElementById("item");
if ('beginElement' in item) {
item.beginElement();
}
Modernizer以的形式使用,但是if(item.beginElement)
的工作原理是一样的。Modernizer有一个测试,您可以使用它,尽管它有点通用。但是,如果SMIL也不受支持,那么检查beginElement
就没有实际意义。
return !!document.getElementById("item").beginElement();
var item = document.getElementById("item");
if ('beginElement' in item) {
item.beginElement();
}