DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5詳解 >> HTML5特性檢測--檢測技術
HTML5特性檢測--檢測技術
編輯:HTML5詳解     

 4種基本技術可以用於檢測浏覽器是否支持某種Html5特性,從簡單到復雜的順序:

1、檢測全局對象(window或navigator)是否擁有特定的屬性。 如果浏覽器支持地理位置API的話,全局的navigator對象上會有一個名為geolocation的屬性,反之,navigator對象上該屬性的值為undefined:   JavaScript Code復制內容到剪貼板
  1. function supports_geolocation(){  
  2. return !!navigator.geolocation;  
  3. }  
如果不想寫這個方法的話,可以使用modernizr庫提供的方法檢測浏覽器是否支持地理位置API:
  JavaScript Code復制內容到剪貼板
  1. if(Modernizr.geolocation){ do something}  
  2. else{ do something }  
2、創建一個元素,然後檢測該元素的DOM對象是否擁有特定的屬性。以檢測畫布特性為例。   JavaScript Code復制內容到剪貼板
  1. function supports_canvas(){  
  2. return !!document.createElement_x_x('canvas').getContext;  
  3. }  
return !!document.createElement_x_x('canvas').getContext;這一句是創建一個虛擬的<canvas>元素,這個元素永遠不會附加到頁面上,因此對於用戶來說它永遠是不可見的。緊接著測試該元素是否擁有getContext()方法,這個方法只有當浏覽器支持canvasAPI時才會存在,最後用雙重否定!!來強制這個檢測方法返回一個布爾值 如果不想寫這個方法的話,可以使用modernizr庫提供的方法檢測浏覽器是否支持canvas API:   JavaScript Code復制內容到剪貼板
  1. if(Modernizr.canvas){ do something}  
  2. else{ do something }  
 3、創建一個元素,然後檢測該元素的DOM對象是否擁有特定的方法,同時調用這個方法並檢查它的返回值。以檢測支持視頻格式為例。   JavaScript Code復制內容到剪貼板
  1. function supports_video(){  
  2.    return !!document.createElement_x_x('video').canPlayType;  
  3. }  
如果浏覽器支持Html5 video,被創建<video>元素對應的DOM對象會有一個名為canPlayType()的方法,反之,該對象只會擁有一些所有元素都有的公共屬性。 如果不想寫這個方法的話,可以使用modernizr庫提供的方法檢測浏覽器是否支持video API:   JavaScript Code復制內容到剪貼板
  1. if(Modernizr.video){ do something}  
  2. else{ do something }  
 4、創建一個元素,給這個元素的DOM對象設定特定的屬性值,然後檢查浏覽器是否保留了該屬性值。以檢測支持的<input>類型為例。 首先創建一個虛擬的<input>元素:var i=document.createElement_x_x("input"); <input>元素默認為文本類型,接下來將元素的類型設置成要檢測的類型: i.setAttribute("type","color"); 如果浏覽器支持次特定的輸入框類型,那麼設置的type值會被保留,反之,依然為文本類型。   JavaScript Code復制內容到剪貼板
  1. return i.type!=="text";  
  2. if(!Modernizr.inputtypes.date){  
  3.    //浏覽器有沒有提供,type="date">原生支持  
  4. }  
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved