如果我想在 IE8 中打开新的 HTML5 标签,我可以使用 html5shiv,但我如何才能允许其他 HTML5 内容,如属性(模式、必需等?)。对于 <= IE7,我可以只显示“更新您的浏览器”消息,但 IE8 是 WinXP 的最新版本和 Win7 的默认值,因此我需要一些 HTML5 属性才能在其中使用。知道我该怎么做吗?
1 回答
许多较新的浏览器功能可以通过使用polyfill脚本在较旧的浏览器中进行模拟。
已经编写了几十个 polyfill,主要针对旧的 IE 版本,它们为一个功能或另一个功能(或在某些情况下为多个功能)完成工作。
你的工作是确定要使用哪些 polyfill。
这里有一个很大的脚本列表- 浏览该列表并找到可能满足您需要的脚本。(注意:此列表由Modernizr的作者提供,该脚本旨在帮助您了解用户浏览器缺少哪些功能,因此您需要安装哪些 polyfill;您可能也需要此脚本)
但是,请记住,IE8 除了缺少很多功能外,还比现代浏览器慢很多。为缺少的功能添加额外的 javascript 库会使其更慢。如果您只需要修复一些功能,这很好,但不要指望能够使用大量的 polyfill 脚本并神奇地将 IE8 变成 IE10。
此外,重要的是要注意这些脚本只是人们编写的帮助自己的小工具。很多时候,它们可能无法很好地协同工作,或者可能无法与真正的 HTML5 功能提供 100% 的兼容性。您需要尝试它们并准备好忍受这些缺点。
最后,您应该考虑选择简单地留下一些东西,以便旧浏览器的用户获得降级的体验。如果您的网站仍然可用,那么他们错过这些装饰并不是一场灾难。不要因为他们的浏览器不兼容而大吵大闹(除非它确实破坏了一些东西);只是让他们看到它有点破损但仍然可以使用。