扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Modernizr!()
创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海珠企业提供专业的成都做网站、成都网站建设、成都外贸网站建设,海珠网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
官方:Modernizr 是一个用于检测浏览器对 HTML5 和 CSS3 支持的 Javascript 库。
一些使用 Modernizr 的知名网站:Microsoft,About,Time,4shared。
Modernizr 检测后会在 HTML 标签中添加相应的 class,例如
html class="js canvas geolocation rgba hsla boxshadow csstransforms video audio fontface"
----------------------------
拿 canvas 为例
在 CSS 中
.canvas {
/* 支持 canvas 的 styles */
}
.no-canvas {
/* 不支持 canvas 的 styles */
}
在 Javascript 中
if(Modernizr.canvas) {
// 支持 canvas 的代码
} else {
// 不支持 canvas 的代码
}
----------------------------
对于 input,Modernizr 不会添加 HTML class,但你可以在 Javascript 中使用
if(Modernizr.input.required) {
// 支持 required 属性
}
else {
// 不支持 required 属性
}
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的body标签中,输入js代码:。
try{
document.createElement("canvas").getContext("2d");
$('body').append('支持canvas');
} catch (e) {
$('body').append('不支持canvas');
}
3、浏览器运行index.html页面,此时会打印出浏览器对html5 canvas的支持程度。
用JS来判断:
script
function myBrowser() {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isChrome = userAgent.indexOf("Chrome") -1; //判断是否Chrome浏览器
var isOpera = userAgent.indexOf("Opera") -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") -1 userAgent.indexOf("MSIE") -1 !isOpera; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") -1; //判断是否Safari浏览器
if (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) { return "IE55"; }
else if (IE6) { return "IE6"; }
else if (IE7) { return "IE7"; }
else if (IE8) { return "IE8"; }
}
else if (isFF) { return "FF"; }
else if (isChrome) { return "Chrome"; }
else if (isOpera) { return "Opera"; }
else if (isSafari) { return "Safari"; }
}
console.log(myBrowser()); //会输出你使用的浏览器类型
/script
HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了。在HTML代码中,区别各种浏览器的代码如下,以ie6为例
!--[if IE 6]仅IE6可识别![endif]--
!--[if lte IE 6] IE6及其以下版本可识别![endif]--
!--[if lt IE 6] IE6以下版本可识别![endif]--
!--[if gte IE 6] IE6及其以上版本可识别![endif]--
!--[if gt IE 6] IE6以上版本可识别![endif]--
!--[if IE] 所有的IE可识别![endif]--
以上这些代码写法都是针对ie各版本浏览器的,在其他浏览器中这些代码都会被解释为Html注释而直接无视掉。
body
!--[if IE 6]
div
IE6中才可以看到
/div
![endif]--
div
其他
/div
/body
所以要想些针对firefox之类的非ie浏览器,需要这么写:!--[if !IE]!-- 除IE外都可识别!--![endif]--
有以下两种方法可以判断浏览器是否支持html5:
方法一:
script
function checkhHtml5() {
if (typeof(Worker) !== "undefined") { alert("支持HTML5"); } else { alert("不支持HTML5"); } }
/script
方法二:
canvas id="Canvas"/canvas
script
if (!document.getElementById("Canvas").getContext){
alert("不支持html5");
}else{
alert("支持html5");
}
/script
在创建HTML5 canvas元素之前,首先要确保浏览器能够支持它。如果不支持,就要为那些古董级浏览器提供一些替代文字。下面的代码就是检测浏览器支持情况的一种方法。try { document.createElement("canvas").getContext("2d"); document.getElementById("support").innerHTML = "HTML5 Canvas is supported in your browser."; } catch (e) { } 上面的代码试图创建一个canvas对象,并且获取其上下文。如果发生错误,则可以捕获错误,进而得知该浏览器不支持canvas。页面中预先放入了ID为support的元素,通过以适当的信息更新该元素的内容,可以反映出浏览器的支持情况。 以上示例代码能判断浏览器是否支持canvas元素,但不会判断具体支持canvas的哪些特性。这个时候,示例中使用的API已经很稳定并且各浏览器也都提供了很好的支持,所以通常不必担心这个问题。 此外,希望开发人员能够像如上代码一样为canvas元素提供备用显示内容。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流