HTML5 Polyfill和Fallback之间有什么区别?

时间:2014-03-21 11:33:00

标签: html5 fallback polyfills

http://html5please.com中列出了与Polyfill或Fallback一起使用时列出的每个功能。我想知道两者有什么不同?请帮助我理解不同的东西。

提前致谢。

3 个答案:

答案 0 :(得分:6)

与Polyfill一起使用意味着可以使用一些JavaScript代码来执行与本机浏览器功能相同的操作。

与Fallback一起使用意味着使用JavaScript模拟该功能是不切实际的,您应该提供一些后备,以便该页面仍可在功能较少的浏览器上运行,尽管功能会减少。 / p>

答案 1 :(得分:5)

Polyfill使用相同的功能替换该功能,但使用支持的技术实现,因此您仍然可以使用与新浏览器相同的API。例如,classList仅从IE10开始支持,但您可以添加用js编写的脚本,将classList对象添加到任何dom元素,这样您就不需要重写代码来检测浏览器或功能。

Fallback通常会使用简化的功能或第三方插件甚至错误消息替换该功能。例如,如果浏览器不支持视频标记,则可以使用Flash插件替换它。

UPD:您还可以查看this问题以获取更多信息。

答案 2 :(得分:0)

Polyfill:Web 开发中的 polyfill 是在不支持该功能的 Web 浏览器上实现该功能的代码。它通常是指实现 HTML5 或 CSS 网络标准的 JavaScript 库,既可以是现有浏览器上的既定标准(受某些较旧浏览器支持),也可以是提议标准(不受任何浏览器支持)。根据定义,“polyfill 是浏览器 API 的垫片”。

后备:该功能通常被通用功能、第三方插件甚至错误消息替换为后备。