- HTML5+ CSS3+JavaScript 網頁設計實戰(視頻教學版)
- 常新峰
- 795字
- 2019-12-12 17:09:08
2.9 瀏覽器對HTML屬性的支持
對于HTML開發設計人員來講,瀏覽器的兼容性是一個復雜又不可回避的問題。隨著技術的進步,目前市面上的主流瀏覽器對HTML的支持已經很完善了,不像早期瀏覽器的兼容性那樣,讓開發設計人員傷透了腦筋。
本節介紹瀏覽器對HTML屬性的支持問題,包括對最新的HTML 5屬性的支持。HTML 5是一個全新的標準,增加了很多新的特性,對多媒體的支持更全面。因此,瀏覽器對HTML 5屬性的支持也是判斷其兼容性的重要指標。
下面看一段判斷瀏覽器是否支持HTML某個屬性的代碼(參見源代碼ch02/ch02-html-support-prop.html文件)。
【代碼2-13】

【代碼解析】
第14~18行代碼定義了一個JavaScript腳本函數isSupport(prop)。其中,第16行代碼通過createElement()函數方法創建一個div標簽元素,并使用in方法將對屬性的判斷結果進行返回。
第29行代碼定義了一個包含6個常用的HTML屬性的數組“prop”。
第30~32行代碼通過for循環語句依次判斷數組“prop”中的屬性是否為div標簽元素所支持,具體是通過isSupportProp()函數方法來判斷的。
第33~42行代碼是isSupportProp()函數方法的實現過程,在該函數方法內部通過調用第14~18行代碼定義的isSupport(prop)函數方法來實現判斷。
運行測試網頁,效果如圖2.16所示。層(div)標簽元素是支持“id”、“style”和“title”屬性的,而“name”、“type”和“value”屬性是不支持的。

圖2.16 HTML常用屬性判斷結果
下面看一段判斷瀏覽器是否支持HTML 5屬性的代碼(參見源代碼ch02/ch02-html-support-HTML 5.html文件)。
【代碼2-14】

【代碼解析】
在這段代碼中,判斷瀏覽器是否支持HTML 5屬性主要是使用了Web Worker屬性。第05行代碼通過typeof()方法判定Worker屬性是否未定義("undefined"),如果定義了則判定瀏覽器支持HTML 5屬性。
下面使用最新版的FireFox瀏覽器(v.50.0.2版)運行測試該頁面,其效果如圖2.17所示。可以看出,新版FireFox瀏覽器對HTML 5是支持的。
下面再使用最新版的Microsoft Edge瀏覽器(Windows 10預覽版自帶)運行測試這個頁面,其效果如圖2.18所示。從中看到,Microsoft Edge瀏覽器對HTML 5也是支持的。看來不支持HTML 5的瀏覽器只有早期Windows XP系統下的IE6、IE7和IE8瀏覽器了。

圖2.17 判斷FireFox瀏覽器是否支持HTML 5

圖2.18 判斷Microsoft Edge瀏覽器是否支持HTML 5