亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript判斷chrome瀏覽器的方法

 更新時間:2014年03月26日 14:27:49   投稿:zxhpj  
這篇文章主要介紹了javascript判斷chrome瀏覽器的方法,通過userAgent判斷檢測一下userAgent返回的字符串里面是否包含“Chrome”,需要的朋友可以參考下

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

相關文章

  • JavaScript利用正則表達式去除日期中的-

    JavaScript利用正則表達式去除日期中的-

    頁面的日期格式是:YYYY-MM-DD,而數據庫中的日期格式是:YYYYMMDD,兩者之間需要轉換一下,本文利用正則表達式去掉-
    2014-06-06
  • JS實現拖動示例代碼

    JS實現拖動示例代碼

    JS實現拖動的方法有很多,在本文將為大家介紹下使用getBoundingClientRect()方法是如何實現的,感興趣的朋友不要錯過
    2013-11-11
  • JS操作數據庫的實例代碼

    JS操作數據庫的實例代碼

    這篇文章介紹了JS操作數據庫的實例代碼,有需要的朋友可以參考一下
    2013-10-10
  • 善用事件代理,警惕閉包的性能陷阱。

    善用事件代理,警惕閉包的性能陷阱。

    關于JS性能優(yōu)化中的冰山一角:事件代理、警惕閉包。其實本文有一個文章已經說到,閉包如何產生,閉包的作用;
    2011-01-01
  • javascript使用正則表達式實現注冊登入校驗

    javascript使用正則表達式實現注冊登入校驗

    這篇文章主要為大家詳細介紹了javascript使用正則表達式實現注冊登入校驗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 原JS實現banner圖的常用功能

    原JS實現banner圖的常用功能

    這篇文章主要為大家詳細介紹了原JS實現banner圖的常用功能,,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • ES6新增的math,Number方法

    ES6新增的math,Number方法

    ES6新增的math,Number方法,小編覺得非常不錯,需要的朋友參考下吧
    2017-08-08
  • JS數組操作大全對象數組根據某個相同的字段分組

    JS數組操作大全對象數組根據某個相同的字段分組

    這篇文章主要介紹了JS數組操作大全對象數組根據某個相同的字段分組,需要注意的是,在開發(fā)過程這種數組的處理函數,應當被編寫到項目的公共工具函數庫中全局調用,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • Bootstrap面板學習使用

    Bootstrap面板學習使用

    這篇文章主要為大家詳細介紹了Bootstrap面板的學習使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 原生JS實現圖片網格式漸顯、漸隱效果

    原生JS實現圖片網格式漸顯、漸隱效果

    這篇文章主要介紹了原生JS實現圖片網格式漸顯、漸隱效果,需要的朋友可以參考下
    2017-06-06

最新評論