JS判断客户端是IOS还是ANDROID

news/2024/7/5 23:56:36 标签: 移动开发, 操作系统
//判断app是ios还是android
export function isIosorAndroid():string{
  let u = navigator.userAgent;
  let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //判断是否是 android终端
  let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //判断是否是 ios终端
  if (isiOS) {
    return 'ios'
  }else if(isAndroid){
    return 'android'
  }else{
    return ''
  }
}
 
//判断浏览器内核

// 1. 定义终端判断对象
let browser = {
  versions: function () {
    let u = navigator.userAgent,
    app = navigator.appVersion;
    return {
      trident: u.indexOf('Trident') > -1, //IE内核
      presto: u.indexOf('Presto') > -1, //opera内核
      webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
      gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
      mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
      ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
      android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
      iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
      iPad: u.indexOf('iPad') > -1, //是否iPad
      webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
      weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
      qq: u.match(/\sQQ/i) == " qq" //是否QQ
    };
  }(),
  language: (navigator.browserLanguage || navigator.language).toLowerCase() // 判断浏览器语言:zh-CN 等
}
// 2. 执行判断 --> 根据browser.versions.xxx 的值为true / false

// 2.1 判断是否webKit内核
if (browser.versions.webKit) {
  console.log("is webKit");
}
// 2.2 判断浏览器当前使用的语言
currentLanguage = browser.language;    // 非IE
if(!currentLanguage) {    // IE浏览器
    currentLanguage = navigator.browserLanguage;
}
console.log(currentLanguage); 

转载于:https://www.cnblogs.com/cheeseCatMiao/p/10081907.html


http://www.niftyadmin.cn/n/1050066.html

相关文章

AspectJ 方式来处理 Spring 的 @Transactional 注解式事务(转)

用 AspectJ 方式来处理 Spring 的 Transactional 注解式事务 关键字: 事务处理 aspectj spring 为节省你的时间, 如果你你不清楚什么是Spring 、AspectJ、事务处理,本文就不适合你看。你可以路过就走。 在网络应用中,我们几乎总是需要严密控…

beanRefContext.xml

将spring配置打包写好书写beanRefContext.xmldemo<?xml version"1.0" encoding"UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans default…

C++ 的背影           --C++之父Bjarne Stroustrup印象

热爱C的朋友请不要误会&#xff0c;我并不是在暗示“C已经日薄西山”&#xff0c;或者任何类似的意思。从语义上来说&#xff0c;C作为一门编程语言&#xff0c;当然不会有什么背影。事实上&#xff0c;我想说的是一个人的背影。因此这个题目显得有点突兀&#xff0c;甚至哗众取…

DDoS入门

DDoS简介“拒绝服务&#xff08;Denial-Of-Service&#xff09;***就是消耗目标主机或者网络的资源&#xff0c;从而干扰或者瘫痪其为合法用户提供的服务。”国际权威机构“SecurityFAQ”给出的定义。DDOS则是利用多台计算机机&#xff0c;采用了分布式对单个或者多个目标同时发…

jquery库说明

jquery-1.3.2通常称作标准版 jquery-1.3.2-vsdoc是供VS 2008的智能提示所使用的&#xff0c;称作文档版&#xff0c; Visual Studio 2008初始并不支持JQuery框架的智能提示&#xff0c;需要2个补丁文件&#xff1a; Visual Studio 2008 SP1 补丁 VS90SP1-KB958502 补丁 …

prometheus-operator 详细总结(helm一键安装)

一、介绍prometheus-operator 二、查看配置rbac授权 三、helm安装prometheus-operator 四、配置监控k8s组件 五、granafa添加新数据源 六、监控mysql七、alertmanager配置 最后、卸载prometheus-operator 一、概述 The Prometheus resource 声明性地描述了Prometheus deploymen…

pom.xml之(二)

pom作为项目对象模型。通过xml表示maven项目&#xff0c;使用pom.xml来实现。主要描述了项目&#xff1a;包括配置文件&#xff1b;开发者需要遵循的规则&#xff0c;缺陷管理系统&#xff0c;组织和licenses&#xff0c;项目的url&#xff0c;项目的依赖性&#xff0c;以及其他…

win10 同步批处理禁用和启用网卡

echo off echo 正在启用超级管理员权限... %1 %2ver|find "5.">nul&&goto :stmshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&g…