如何检查浏览器是否支持webanimation API?

时间:2016-06-09 09:23:09

标签: animation web-animations

有没有办法检查浏览器是否支持webanimation API,以便我们不需要加载webanimations polyfill?

github上的文档讨论了Element.animate和Playback Control。我可以在元素上检查$ 0.animate,但我不确定如何检查播放控件。这是检查我们是否需要填充物的准确方法吗?

3 个答案:

答案 0 :(得分:1)

如果存在Element.animate,我认为假设播放控制也是合理的。

Chrome最初在Chrome 36中提供了Element.animate支持。它在Chrome 39中添加了播放控制功能,该功能已经发布了很长时间(目前Chrome为51)。

Firefox将发布Element.animate,包括Firefox 48中的播放控制(目前处于测试阶段)。

我不认为Safari或Edge会在没有播放控制的情况下发送Element.animate

但是,还有其他浏览器尚未提供的其他功能,例如finished承诺,effect属性或附加动画(尽管其中一些功能)可以在Firefox Nightly / DevEdition和Chrome Canary中使用。如果您依赖任何这些功能,那么您可能仍需要填充。

此外,polyfill应该在可用时回退到本机实现,但我想你试图避免完全下载polyfill?

答案 1 :(得分:1)

没有安全的检查方法,因为某些浏览器可能未完全实现API,但仍实现Element.animate

您可能希望使用polyfill代替它,如果存在的话,它会落入API。

此polyfill项目可能符合您的需求。我将其用于多个项目,并对此感到满意: https://github.com/web-animations/web-animations-js

答案 2 :(得分:0)

要添加到@brianskold响应 - 我使用了:

import_array();

适用于Chrome& Firefox如果不受支持则会退回!