Modernizr?。ǎ?/p>
創(chuàng)新互聯長期為近1000家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為海珠企業(yè)提供專業(yè)的成都做網站、成都網站建設、成都外貿網站建設,海珠網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
官方: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代碼中,在編寫網頁代碼時,各種瀏覽器的兼容性是個必須考慮的問題,有些時候無法找到適合所有瀏覽器的寫法,就只能寫根據瀏覽器種類區(qū)別的代碼,這時就要用到判斷代碼了。在HTML代碼中,區(qū)別各種瀏覽器的代碼如下,以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
在創(chuàng)建HTML5 canvas元素之前,首先要確保瀏覽器能夠支持它。如果不支持,就要為那些古董級瀏覽器提供一些替代文字。下面的代碼就是檢測瀏覽器支持情況的一種方法。try { document.createElement("canvas").getContext("2d"); document.getElementById("support").innerHTML = "HTML5 Canvas is supported in your browser."; } catch (e) { } 上面的代碼試圖創(chuàng)建一個canvas對象,并且獲取其上下文。如果發(fā)生錯誤,則可以捕獲錯誤,進而得知該瀏覽器不支持canvas。頁面中預先放入了ID為support的元素,通過以適當的信息更新該元素的內容,可以反映出瀏覽器的支持情況。 以上示例代碼能判斷瀏覽器是否支持canvas元素,但不會判斷具體支持canvas的哪些特性。這個時候,示例中使用的API已經很穩(wěn)定并且各瀏覽器也都提供了很好的支持,所以通常不必擔心這個問題。 此外,希望開發(fā)人員能夠像如上代碼一樣為canvas元素提供備用顯示內容。