【问题标题】:Non-javascript solution for helping older browsers support HTML5 tags帮助旧版浏览器支持 HTML5 标签的非 JavaScript 解决方案
【发布时间】:2012-10-10 12:42:50
【问题描述】:

我很清楚使用 HTML5 的注意事项,并且仍然需要支持旧版浏览器(阅读 IE8 和更低版本)...您需要添加 shiv 或 Modenizr 或类似的东西,以使您的小网站尊重和标签。

我对此很满意,但前几天有人对我说他们没有使用 HTML5 标签,因为显然你需要 JS 才能让 IE8 与这些标签很好地配合。而且我已经看到未加载 Modenizr 会发生什么(我偶尔会使用高级 JS 并打破它,这会停止 Modenizr 加载)。

现在我个人认为这是一个不必要的声明,因为关闭了 JS 的浏览器 IE8 及更低版本的 useshare 可能代表了您用户群的 0.000001%(特别是考虑到这是由不支持的人告诉我的或测试 IE7 及更低版本)。

但我想知道如果您想在关闭 JS 的非 HTML5 浏览器中支持 HTML5 标签,有哪些解决方案。还是我上面的假设非常准确,真的不值得考虑?

【问题讨论】:

  • 不要因为过时的浏览器而失眠。如果你想在高速公路上开车,你需要使用能达到最低限速的汽车。
  • 哈哈,这是一个很棒的类比。担心轻度古怪的浏览器。不用担心关闭 JS 的古怪浏览器;他们无能为力。
  • @zzzzBov 虽然我同意,但我想说你不能忽略它们。不幸的是,有很多人(包括非常大的企业)使用旧版浏览器。我最近与一家主要的英国能源公司合作,他们仍在使用 IE7 并拒绝升级,因为这会花费他们太多。虽然这很烦人,但不幸的是,很多公司都会这样做,因此忽略旧版浏览器通常是一件坏事。
  • @JonTaylor - 我想知道这是否是刚刚宣布大幅提价的英国主要能源公司之一? :(
  • @Spudley 不,它不是,然而,即使是这样,这也不是重点。

标签: javascript html modernizr


【解决方案1】:

对不起。不使用 Javascript 在 IE8 中使用 HTML5 标签没有好的解决方案。

HTML5Shiv 和 Modernizr 利用了唯一已知的 hack,它可以让 IE 以现代 HTML5 网站可用的方式识别未知标签。

可以通过将整个文档转换为 xhtml 并为 HTML5 标签使用不同的命名空间来做到这一点——例如,请参阅http://www.webstack.co.uk/html5_without_javascript_ie8/

然而,这些技术并不理想,因为 IE 存在带有未知标记的错误,这些错误超出了能够正确呈现它们的基本错误。在 HTML5Shiv hack 处理的动态内容和打印等领域,它们还有几个进一步的错误,但不是像这样的命名空间 hack。

底线:html5shiv 就是答案。如果您真的需要支持禁用 Javascript 的 IE8 用户,请考虑完全不使用 HTML5 标签。

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 2021-08-02
    • 1970-01-01
    • 2015-05-14
    • 2011-12-05
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多