【问题标题】:Would this line of code really work for detecting HTML5 support?这行代码真的可以检测 HTML5 支持吗?
【发布时间】:2013-07-29 14:49:47
【问题描述】:

我正在开发一个现有的应用程序并遇到以下代码行:

if (window.File && window.FileReader && window.FileList && window.Blob) {

               DoSomething();

            }

它似乎不起作用,尤其是在 IE 中。有没有更好的方法来检查 HTML5 支持?

【问题讨论】:

    标签: javascript asp.net html


    【解决方案1】:

    “检查 HTML5 支持”是一个过于雄心勃勃的目标。每个用户代理对 HTML 不同特性的支持程度不同,所以不是简单的包罗万象的“是的,这支持 HTML5”。

    事实上,您引用的代码似乎做得很好 - 它测试了它需要的功能(显然是为了从操作系统读取 blob),而不是针对整个通用概念。

    标准是执行您引用的操作,并且只检查您想要的功能。如果该语句返回假阴性,您可能需要查看处理特征检测的支持库,例如 modernizr

    【讨论】:

      【解决方案2】:

      HTML5 只是一个流行词。浏览器支持不同的事物矩阵,我们将其归类为“HTML5”。您拥有的代码正在对浏览器是否支持文件和 blob API 进行“功能检测”。

      【讨论】:

        【解决方案3】:

        虽然您通常无法检测到完整的 HTML5 支持,但有一个名为 Modernizr 的 javascript 库,可让您通过功能检测 HTML5 和 CSS3 支持。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-24
          • 2012-03-25
          • 2018-04-30
          • 2011-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-03
          相关资源
          最近更新 更多