檢測瀏覽器是否支援HTML5功能
在用HTML5開發Web App時,檢測瀏覽器是否支援HTML5功能是個必須的步驟。
檢測瀏覽器是否支援HTML5功能,可歸結為以下四種方式:
- 在全域性物件上檢測屬性;
- 在建立的元素上檢測屬性;
- 檢測一個方法是否返回期望值;
- 檢測元素是否能保留值。
1. 在全域性物件上檢測屬性
比如,檢測離線功能的程式碼:
<!doctype html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<title>applicationCache Test</title>
<script>
window.onload = function() {
if (window.applicationCache) {
document.write("Yes, your browser can use offline web applications.");
} else {
document.write("No, your browser cannot use offline web applications.");
}
}
</script>
</head>
<body>
</body>
</html>
2. 在建立的元素上檢測屬性
首先要建立一個元素,再檢測其能否為DOM識別。比如,通過測試canvas
元素的context
屬性,檢測瀏覽器是否支援canvas
元素:
<!doctype html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<title>Simple Square</title>
<script type="text/javascript">
window.onload = drawSquare;
function drawSquare () {
var canvas = document.getElementById('Simple.Square');
if (canvas.getContext) {
var context = canvas.getContext('2d');
context.fillStyle = "rgb(13, 118, 208)";
context.fillRect(2, 2, 98, 98);
} else {
alert("Canvas API requires an HTML5 compliant browser.");
}
}
</script>
</head>
<body>
<canvas id="Simple.Square" width="100" height="100"></canvas>
</body>
</html>
3. 檢測一個方法是否返回期望值
我們知道,瀏覽器對WebM、H.264的支援是不盡相同的。如何檢測瀏覽器支援哪種編解碼器?首先要像前面“2. 在建立的元素上檢測屬性”所述那樣,先檢測是否支援該元素(比如video
),再檢測方法是否返回期望值:
<!doctype html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<title>Video Test</title>
<script>
function videoCheck() {
return !!document.createElement("video").canPlayType;
}
function h264Check() {
if (!videoCheck) {
document.write("not");
return;
}
var video = document.createElement("video");
if (!video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')) {
document.write("not");
}
return;
}
document.write("Your browser does ");
h264Check();
document.write(" support H.264 video.");
</script>
</head>
<body>
</body>
</html>
4. 檢測元素是否能保留值
HTML5表單元素的檢測只能用這種方法,比如input
的range
型別,如果瀏覽器不支援,則會顯示一個普通的文字框,具體檢測方法如下所示:
<!doctype html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<title>Range Input Test</title>
<script>
function rangeCheck() {
var i = document.createElement("input");
i.setAttribute("type", "range");
if (i.type == "text") {
document.write("not");
}
return;
}
document.write("Your browser does ");
rangeCheck();
document.write(" support the <code><input type=range></code> input type.");
</script>
</head>
<body>
</body>
</html>
相關文章
- 如何檢測您的瀏覽器是否支援HTML5視訊瀏覽器HTML
- 檢測當前瀏覽器是否支援cookie瀏覽器Cookie
- 檢測是否為360瀏覽器?瀏覽器
- 如何判斷當前瀏覽器是否支援html5瀏覽器HTML
- 如何檢測瀏覽器是否安裝flash瀏覽器
- 程式碼檢測HTML5/CSS3新特性的瀏覽器支援情況HTMLCSSS3瀏覽器
- 檢測瀏覽器支援css3D轉換瀏覽器CSSS33D
- 8款瀏覽器對HTML5支援評測瀏覽器HTML
- HTML5 之瀏覽器支援介紹HTML瀏覽器
- 檢測當前瀏覽器對音訊的支援度瀏覽器音訊
- 如何判斷當前瀏覽器是否支援html5的video標籤瀏覽器HTMLIDE
- 如何判斷當期瀏覽器是否支援canvas瀏覽器Canvas
- 判斷客戶瀏覽器是否支援cookie (轉)瀏覽器Cookie
- 瀏覽器特性檢測框架:MODERNIZR瀏覽器框架
- javascript如何判斷當前瀏覽器是否支援cookieJavaScript瀏覽器Cookie
- js檢測搜狗瀏覽器、百度瀏覽器、微信瀏覽器程式碼例項JS瀏覽器
- 怎麼檢測瀏覽器劫持,瀏覽器劫持的方法介紹瀏覽器
- 常見瀏覽器終端檢測瀏覽器
- 瀏覽器開發者工具開啟檢測瀏覽器
- JavaScript學習6:瀏覽器檢測JavaScript瀏覽器
- js+jquery檢測使用者瀏覽器型號(包括對360瀏覽器的檢測)薦JSjQuery瀏覽器
- APUS瀏覽器應用整合惡意URL檢測功能,風險網站檢測能力提升20瀏覽器網站
- 跨瀏覽器的JavaScript效能檢測工具瀏覽器JavaScript
- 檢測空間是否支援curl
- HTML5支援所有瀏覽器的SHIV解決方案HTML瀏覽器
- js 判斷是什麼瀏覽器、是否為谷歌瀏覽器JS瀏覽器谷歌
- js如何判斷當前瀏覽器是否是谷歌瀏覽器JS瀏覽器谷歌
- 檢測360瀏覽器javascript程式碼例項瀏覽器JavaScript
- 瀏覽器檢視Session瀏覽器Session
- onscroll事件的瀏覽器支援事件瀏覽器
- JavaScript中的瀏覽器檢測和DOM基礎JavaScript瀏覽器
- 判斷是否在微信瀏覽器中瀏覽器
- 如何判斷是否是360瀏覽器瀏覽器
- php判斷是否是微信瀏覽器PHP瀏覽器
- 又到週末了,我們一起來研究【瀏覽器如何檢測是否安裝app】吧瀏覽器APP
- [譯] 瀏覽器中 CSS 支援指南瀏覽器CSS
- getElementsByClassName()方法的瀏覽器支援版本瀏覽器
- 瀏覽器原生支援平滑滾動瀏覽器