国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript判斷chrome瀏覽器的方法

2019-11-20 20:54:13
字體:
來源:轉載
供稿:網友

通過userAgent判斷檢測一下userAgent返回的字符串里面是否包含“Chrome”, 具體怎么檢測是通過indexOf方法進行的。

<script type="text/javascript">  var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1;  alert(isChrome);  if (isChrome) {    alert("是Chrome瀏覽器");  } else {    alert("不是Chrome瀏覽器");  }</script>

關于indexOf方法:

indexOf方法返回一個整數值,指出String對象內子字符串的開始位置。即indexOf()括號內所包含的字符在該字符串內的位置,在第幾位就返回幾,從0開始記數。如果有重復的字符出現,以第一個字符為準。如果沒有找到子字符串,則返回 -1。

 JS通過內核判斷各種瀏覽器|區分360與谷歌(親測可用)

function getBrowserInfo(){    var ua = navigator.userAgent.toLocaleLowerCase();    var browserType=null;    if (ua.match(/msie/) != null || ua.match(/trident/) != null) {      browserType = "IE";      browserVersion = ua.match(/msie ([/d.]+)/) != null ? ua.match(/msie ([/d.]+)/)[1] : ua.match(/rv:([/d.]+)/)[1];    } else if (ua.match(/firefox/) != null) {      browserType = "火狐";    }else if (ua.match(/ubrowser/) != null) {      browserType = "UC";    }else if (ua.match(/opera/) != null) {      browserType = "歐朋";    } else if (ua.match(/bidubrowser/) != null) {      browserType = "百度";    }else if (ua.match(/metasr/) != null) {      browserType = "搜狗";    }else if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {      browserType = "QQ";    }else if (ua.match(/maxthon/) != null) {      browserType = "遨游";    }else if (ua.match(/chrome/) != null) {      var is360 = _mime("type", "application/vnd.chromium.remoting-viewer");      function _mime(option, value) {        var mimeTypes = navigator.mimeTypes;        for (var mt in mimeTypes) {          if (mimeTypes[mt][option] == value) {            return true;          }        }        return false;      }      if(is360){        browserType = '360';      }else{        $('html').css("zoom",".80");      }    }else if (ua.match(/safari/) != null) {      browserType = "Safari";    }}

只有原生Chrome中存在一種MimeType“application/vnd.chromium.remoting-viewer”,由此可以判斷瀏覽器是加殼Chrome或是原生Chrome。
再如,只有IE內核的瀏覽器存在ActiveXObject對象。由此可以判斷是否為IE瀏覽器

判斷瀏覽器類型,我們需要遵循以下原則:

1、采取命中特征原則,當且僅當完全符合區分瀏覽器的特征時我們才會采用此特征。例如單純通過UA中MSIE來檢測是否為IE瀏覽器是不可靠的。而通過判斷是否存在MimeType“application/vnd.chromium.remoting-viewer”來斷言原生Chrome在現階段來看是可行性,但也不保證永久有效。
2、對于主流瀏覽器來說一般不存在UserAgent關鍵字沖突,但對于許多加殼瀏覽器者就不一定了。再次提出某數字瀏覽器,userAgent干脆和IE一模一樣,但渲染模式等等不不知道動了什么手腳,與標準IE行為差異很大。通過userAgent來判斷瀏覽器時,優先命中瀏覽器特征字。匹配則基本確定為該瀏覽器,但未匹配也并不代表不是此瀏覽器。請悉知。
3、優先使用瀏覽器特性來區分瀏覽器,因為這個準確性較高。其次再采用userAgent輔助判斷,從而達到最高的匹配度。
4、優先檢測第三方加殼瀏覽器,目前并未有十分好的方案,只能枚舉大部分世面上存在并可以判斷的瀏覽器,其他未匹配任何規則的瀏覽器,為了兼容,請將規則落到四大瀏覽器之一。
5、判斷瀏覽器版本,僅僅是為了針對特定瀏覽器進行優化,需要有特定的業務場景需要才要這么做。或者當某個瀏覽器出現兼容問題時,緊急添加針對瀏覽器的補丁代碼時才判斷。更加科學穩妥的辦法是使用標準的JS函數和API,頁面元素和樣式設計遵循W3C標準。可能存在爭議的兼容性問題盡可能采用第三方框架如jQuery。這才是解決兼容性問題的根本。
下面附上最近整理規納判斷瀏覽器類型的代碼

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇礼县| 宜川县| 宁强县| 嘉荫县| 益阳市| 手游| 依兰县| 上栗县| 曲阜市| 舟曲县| 繁峙县| 商都县| 瑞金市| 祁东县| 民丰县| 岑溪市| 上栗县| 太保市| 波密县| 登封市| 新巴尔虎右旗| 原平市| 嘉义市| 鹤峰县| 乌兰察布市| 海伦市| 丽江市| 南康市| 独山县| 泰来县| 津市市| 洛川县| 崇明县| 永兴县| 惠来县| 龙州县| 泰宁县| 全州县| 三明市| 台北县| 玉林市|