-
百度 - 終端适配API
适合伺服器端使用。POST用戶端傳遞的http頭資訊越多,得到的适配資訊越準确。百度傳回的資料為:
正确情況: { device_type :/*1:手機2:pc*/ os:/*作業系統*/ os_version:/*作業系統版本*/ browser:/*浏覽器*/ browser_version:/*浏覽器版本*/ model:/*機型*/ vendor:/*廠商*/ tn: /*wml|middle|touch|utouch|iphone*/ }
伺服器端代碼可根據傳回的值,來進行自定義判斷,該給用戶端傳回何種資料。
為防止過度依賴百度判斷,可本地緩存每次用戶端請求頭資料,和百度傳回的值,建立一個KEY、VALUE表,則某種類型用戶端隻要請求一次百度,本地自己的伺服器即可自己判斷了。
-
一段巧妙判斷IE浏覽器版本的js代碼
隻有一行代碼,隻針對IE起作用,而且考慮了IE使用者自選渲染模式、怪癖模式、支援IE5、6、7、8、9及10。
最短判斷是否IE的代碼:<html> <script> var isIE=false; /*@cc_on isIE=(document.documentMode||( document.compatMode == "CSS1Compat" ? "XMLHttpRequest" in window ? @_jscript_version*10-50 : 6 : 5)) @*/ alert(isIE);//非IE彈出False,IE則彈出5到10版本值 </script> </html>
經過測試:IE9、IE10彈出“非IE”。if(-[1,]){ alert("非IE"); }else{ alert("IE"); }
- 實際編碼中,更多的将是采用“對象/特征”來判斷浏覽器能力的方式。
//添加事件工具函數 function addEvent(el,type,handle){ if(el.addEventListener){//for standard browses el.addEventListener(type,handle,false); }else if(el.attachEvent){//for IE el.attachEvent("on"+event,handle); }else{//other el["on"+type]=handle; } }
轉載于:https://www.cnblogs.com/AsionTang/p/3330948.html