識別客戶端瀏覽器的事實標準,每一個瀏覽器的navigator對象都有本身的一套屬性,但也有一些共通的屬性。javascript
插件檢測java
對於非IE瀏覽器,可使用plugins數組來檢查瀏覽器是否安裝了常見的插件。該數組每一項都包含如下屬性:數組
//檢測插件IE中無效 function hasPlugin(name){ var name=name.toLowerCase(); for(var i=0;i<navigator.plugins.length;i++) { if(navigator.plugins[i].name.toLowerCase().indexOf()>-1) return true; } return false; }
對於IE,檢查插件的方式是ActiveXObject類型,IE是以COM對象的方式實現插件的,而COM對象使用惟一表示符來標識。瀏覽器
//檢測IE中的插件,name是插件標識符 function hasIEPluhin(name){ try{ new ActiveXObject(name); return true; }catch(err){ return false; } }
對於全部瀏覽器來講,前兩種檢測方法差異太大,檢查插件的經典方法是每種插件有專門的檢測函數框架
//檢測插件IE中無效 function hasPlugin(name){ var name=name.toLowerCase(); for(var i=0;i<navigator.plugins.length;i++) { if(navigator.plugins[i].name.toLowerCase().indexOf()>-1) return true; } return false; } //檢測IE中的插件,name是插件標識符 function hasIEPluhin(name){ try{ new ActiveXObject(name); return true; }catch(err){ return false; } } //檢測全部瀏覽器中的Flash function hasFlash(){ var result=hasPlugin("Flash"); if(!result){ result=hasIEPluhin("ShockwaveFlash.ShockwaveFlash"); } return result; } alert(hasFlash());
註冊處理程序函數
可讓一個站點指明它能夠處理的特定的類型信息,以後再詳細介紹。url
用來代表客戶端的能力,包括瀏覽器窗口外部顯示器信息,如像素寬高度等。不一樣的瀏覽器可能有不一樣的屬性,可是仍是有不少屬性是相同的插件
這些屬性能夠用來調整瀏覽器窗口大小,好比瀏覽器佔屏幕的百分之多少。3d
window.resizeTo(screen.availWidth,screen.availHeight)
history對象保存着用戶從打開窗口開始的上網的歷史記錄。history是window對象的屬性,每一個瀏覽器窗口,框架都有本身的history和window相關聯。開發人員不能經過history知道用戶瀏覽過的url,但能夠借用用戶的url列表,在不知道實際url的狀況下就行後退和前進。code
//後退一頁 history.go(-1); //前進兩頁 history.go(2); //跳轉到www.baidu.com,若是url列表中有這條記錄,就跳轉過去,沒有就什麼也不作 history.go("http://www.baidu.com"); //模仿前進和後退 //前進一頁 history.forward(); //後退一頁 history.back();
還有一個history.length保存着瀏覽記錄的數量,可用來測定當前頁面是否是第一個頁面等。