如何检查HTML5应用程序是否有效



我有一个要求,我可以在页面上添加Flash和嵌入HTML5应用程序。但是HTML5应用程序在许多浏览器上不受支持。我想做的是在运行时检查HTML5应用程序是否无法正常工作,然后显示Flash文件。但是我不知道如何在运行时检查我的应用程序是否显示任何内容。我通过以下代码在用户控件中嵌入了HTML5代码:

<embed src='<fully qualified html5 app link>' height="<height>" width="<width>" />

在运行时检查支持的功能的过程通常称为"功能检测"。Modernizr 是一个流行的 JavaScript 库,它提供了这样的"功能检测": http://modernizr.com/

例如,让我们从您建议的 HTML 开始,并为方便起见添加一个 id 属性:

<embed id="fancy" height="<height>" width="<width>" />

例如,如果你想使用HTML5 Canvas,但不得不在非Canvas浏览器中回退到Flash替代品,你可以做这样的事情(在JavaScript中,使用Modernizr):

if (Modernizr.canvas) {
    // TODO: do whatever it is you want to do with Canvas
} else {
    // hook up your embed to the fallback Flash component
    document.getElementById('fancy').src = 'url/for/flash/component.swf';
}

HTML5涵盖了大量的功能。所需的精确"检测"将根据您的要求而有所不同,但 Modernizr 使大部分工作变得非常简单。

最新更新