有没有办法检查浏览器是否支持webanimation API,以便我们不需要加载webanimations polyfill?
github上的文档讨论了Element.animate和Playback Control。我可以在元素上检查$ 0.animate,但我不确定如何检查播放控件。这是检查我们是否需要填充物的准确方法吗?
答案 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如果不受支持则会退回!