我使用beginElement()
在我的网络应用中启动SVG动画:
document.getElementById("item").beginElement();
但这会导致IE9及以上版本中出现以下错误(doesn't support it):
Object doesn't support property or method 'beginElement'
我不介意动画在IE9中不起作用,但我需要防止错误发生。如何设置检查以便仅在浏览器支持时才调用beginElement()
? E.g:
if (hasSupport) {
document.getElementById("item").beginElement();
}
我尝试了一种检测技术like this:
return !!document.getElementById("item").beginElement();
但即使在我知道支持它的浏览器(如Firefox)中,它总会返回false
。
我还考虑过使用Modernizr,但它没有对beginElement()
进行测试。
答案 0 :(得分:3)
您可以在执行之前嗅探方法以查看它是否存在。
var item = document.getElementById("item");
if ('beginElement' in item) {
item.beginElement();
}
Modernizr使用in
表单,但if (item.beginElement)
的工作方式相同。