首頁 >web前端 >js教程 >js判斷目前開啟瀏覽器的方式

js判斷目前開啟瀏覽器的方式

小云云
小云云原創
2018-03-07 14:13:101422瀏覽

我們同一個網頁,可能會在PC端開啟或不同的行動端打開,那麼,我們想要在不同的裝置上開啟顯示不同的效果,就需要知道目前是以什麼方式開啟的瀏覽器。 Navigator物件提供的屬性可以解決這些問題,Navigator物件包含有關瀏覽器的資訊。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浏览器</title>
</head>
<body>

</body>
<script>
  var browser = {
    versions: function () {
      var u = navigator.userAgent, app = navigator.appVersion;
      return {     //移动终端浏览器版本信息
        trident: u.indexOf(&#39;Trident&#39;) > -1, //IE内核
        presto: u.indexOf(&#39;Presto&#39;) > -1, //opera内核
        webKit: u.indexOf(&#39;AppleWebKit&#39;) > -1, //苹果、谷歌内核
        gecko: u.indexOf(&#39;Gecko&#39;) > -1 && u.indexOf(&#39;KHTML&#39;) == -1, //火狐内核
        mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
        android: u.indexOf(&#39;Android&#39;) > -1 || u.indexOf(&#39;Linux&#39;) > -1, //android终端或uc浏览器
        iPhone: u.indexOf(&#39;iPhone&#39;) > -1, //是否为iPhone或者QQHD浏览器
        iPad: u.indexOf(&#39;iPad&#39;) > -1, //是否iPad
        webApp: u.indexOf(&#39;Safari&#39;) == -1 //是否web应该程序,没有头部与底部
      };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
  };
  if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
    var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
    // alert(&#39;是在移动端打开&#39;);
    if (ua.match(/MicroMessenger/i) == "micromessenger") {
      //在微信中打开
      alert(&#39;在微信中打开&#39;);
    }
    if (ua.match(/WeiBo/i) == "weibo") {
      在新浪微博客户端打开
    }
    if (ua.match(/QQ/i) == "qq") {
      //在QQ空间打开
      alert(&#39;在QQ打开的&#39;);
    }
    if (browser.versions.ios) {
      //是否在IOS浏览器打开
      alert(&#39;是在IOS浏览器打开&#39;);
    }
    if(browser.versions.android){
      //是否在安卓浏览器打开
      alert(&#39;是在安卓浏览器打开&#39;);
    }
  } else {
    //否则就是PC浏览器打开
    alert(&#39;是在pc端打开的&#39;);
  }
</script>
</html>

以上是js判斷目前開啟瀏覽器的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn