2

我需要确保我的代码在所有浏览器 html 或 html5 中都能正常工作。我在 Firefox 和 Chrome 中的代码运行良好,但在 IE 中我有问题。我想修复它们...

如果客户端支持HTML5,还有这组代码。如果没有,请执行其他操作。

有什么建议么?

4

3 回答 3

5

有一个名为Modernizr的特征检测库可以提供帮助。

这是他们文档中的一个示例:

Modernizr.load({
  test: Modernizr.geolocation,
  yep : 'geo.js',
  nope: 'geo-polyfill.js'
});

yep如果地理位置可用,条件是要加载的脚本。如果nope脚本不可用,则条件是要加载的脚本 - 它将包含您的替代/ polyfill。

您想测试您想要使用的确切内容,而不是是否支持 HTML5。这是因为浏览器可能部分支持 HTML5 - 但也因为许多功能实际上根本不是 HTML5,而是一个单独的规范。(地理位置不是 HTML5 规范的一部分)。

于 2013-01-21T13:48:32.723 回答
1

使用 Internet Explorer 实现时,html5 存在问题。您将面临的大部分问题都来自 css3。要处理此问题,您可以手动更改 css,或包含类似 HTML5 Shiv。这是您需要包含的 URL。

<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

$("body").append(innerShiv("<section></section>"));

上面说的链接也不错

于 2013-01-21T14:29:28.783 回答
-1

亲爱的 这是简单的功能。您可以在没有任何库的帮助下检测浏览器是否支持 html5。

<script>
var test_canvas = document.createElement("canvas") //try and create sample canvas element
var canvascheck=(test_canvas.getContext)? true : false //check if object supports getContext() method, a method of the canvas element
if(canvascheck == true)
{
    alert("This browser support html5");
}
else{

     alert("This browser does not support html5");
}
</script>
于 2013-01-21T14:27:54.570 回答