文档章节

JS判断设备,操作系统以及浏览器类型。

_
 _好久不见
发布于 2016/04/05 11:41
字数 330
阅读 222
收藏 7

判断操作系统:

 <script>
    function detectOS() {
      var sUserAgent = navigator.userAgent;
      //        return navigator.userAgent;

      var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");

      var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");

      if (isMac) return "Mac";

      var isUnix = (navigator.platform == "X11") && !isWin && !isMac;

      if (isUnix) return "Unix";


      var isAndroid = (sUserAgent.indexOf('Android') > -1);
      if (isAndroid) return "Android";

      var isLinux = (String(navigator.platform).indexOf("Linux") > -1);

      if (isLinux) return "Linux";


      var isIos = (sUserAgent.indexOf('iPhone') > -1 || sUserAgent.indexOf('iPad') > -1 || sUserAgent.indexOf('iPod') > -1);

      if (isIos) return "iOS";




      if (isWin) {
        var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
        if (isWin2K) return "Win2000";
        var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
        if (isWinXP) return "WinXP";
        var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
        if (isWin2003) return "Win2003";
        var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
        if (isWinVista) return "WinVista";
        var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
        if (isWin7) return "Win7";
      }
      return "other";
    }
    document.writeln("您的操作系统是:" + detectOS());

  </script>


判断浏览器类型:

 <script>
function getExplorer() {
var explorer = window.navigator.userAgent ;
//ie 
if (explorer.indexOf("MSIE") >= 0) {
return "IE";
}
//firefox 
else if (explorer.indexOf("Firefox") >= 0) {
return "Firefox";
}
//Chrome
else if(explorer.indexOf("Chrome") >= 0){
return "Chrome";
//  console.log("Chrome")
}
//Opera
else if(explorer.indexOf("Opera") >= 0){
return "Opera";
}
//Safari
else if(explorer.indexOf("Safari") >= 0){
return "Safari";
}
}
    getExplorer();
  </script>


判断设备:

  <script>
    function browserRedirect() {
      var sUserAgent = navigator.userAgent.toLowerCase();
      var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
      var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
      var bIsMidp = sUserAgent.match(/midp/i) == "midp";
      var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
      var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
      var bIsAndroid = sUserAgent.match(/android/i) == "android";
      var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
      var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
      document.writeln("您的浏览设备为:");
      if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
        document.writeln("Phone");
      } else {
        document.writeln("PC");
      }
    }

    browserRedirect();
  </script>


© 著作权归作者所有

_
粉丝 9
博文 24
码字总数 17310
作品 0
西安
私信 提问
[译] WebAssembly: How and why

如何在浏览器中运行原生代码,为什么要这样做,这样做对Javascript和Web开发的未来有何意义 在所有浏览器里面,都运行着js代码,它们被js引擎解析和执行。然而,js并无法最理想地处理所有任务...

Skandar-Ln
2018/08/23
0
0
2016 年 11 月 12 个轻量级的 JavaScript 库

1. meSing.js meSing.js是一个一个JavaScript歌唱合成库,它使用Web Audio API的DSP功能与meSpeak.js语音合成库结合,为Web提供声乐合成器。 2. Flv.js flv.js是一个 HTML5 Flash Video (FLV...

pe_mail2006
2016/11/23
6.7K
12
谷歌 Firebase Cloud Messaging 对多浏览器开放

近日,Google表示,正在将Firebase Cloud Messaging的Web支持扩展到Chrome以外的其他Web浏览器,包括Firefox和Opera。此举,由一个新的JavaScript库启用,将允许开发人员通过浏览器将推送通知...

王练
2016/11/01
2.3K
3
WebAssembly 的未来:成长技能树

人们对WebAssembly有些误解。他们认为在2017年登陆浏览器的WebAssembly - 我们称之为WebAssembly的最小可行产品(或MVP) - 是WebAssembly的最终版本。 我可以理解这类误解来自何处。WebAsse...

oschina
2018/10/29
3.7K
8
推荐10个非常不错的JavaScript移动开发框架

创建移动应用程序已是每个开发人员不可避免的一项挑战。他们必须考虑如何在一个小的空间内展示出与台式和笔记本一样多的功能。此外,开发人员还要考虑带宽的影响。如果借助一些外部工具,移动...

咲晚杍
2013/12/18
443
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
6
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
1K
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部