js 设备判断(移动端pc端 安卓ios 微信)
苹果安卓判断
$(function () {
var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
alert("安卓机!")
}
if (isIOS) {
alert("苹果果机!")
}
});
移动端pc端判断
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
window.location.href = "https://www.baidu.com/";
} else {
window.location.href = "http://news.baidu.com/";
}
判断是否在微信中打开
function isWeiXin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf('micromessenger') != -1) {
return true;
} else {
return false;
}
}
判断当前设备类型(综合)
/* 当前设备浏览器版本信息 */
var browser = {
versions: function() {
var 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.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //iOS终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //Android终端或者UC浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否Web应该程序,没有头部与底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
} //根据设备的不同,可以做一些事情。
if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
//window.location="http://localhost/index.html";
}
else if (browser.versions.android) {
//window.location="http://localhost/demo.php";
} document.writeln("语言版本: " + browser.language + "<br/>");
document.writeln("是否为移动终端: " + browser.versions.mobile + "<br/>");
document.writeln("iOS终端: " + browser.versions.ios + "<br/>");
document.writeln("Android终端: " + browser.versions.android + "<br/>");
document.writeln("是否为iPhone: " + browser.versions.iPhone + "<br/>");
document.writeln("是否iPad: " + browser.versions.iPad + "<br/>");
document.writeln("用户代理: " + navigator.userAgent + "<br/>");
// 用户代理是一种对数据打包/创造分组头,以及编址/传递消息的部件. 作者:andyhdchoice
链接:https://www.jianshu.com/p/c647551caf5e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
输出
是否为移动终端: false
iOS终端: false
Android终端: false
是否为iPhone: false
是否iPad: false
用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C) 作者:andyhdchoice
链接:https://www.jianshu.com/p/c647551caf5e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
js 设备判断(移动端pc端 安卓ios 微信)的更多相关文章
- js判断页面在pc端打开还是移动端打开
js判断页面在pc端打开还是移动端打开,分别跳转不同的index.html window.addEventListener('load', function() { // true为手机,false为 ...
- 判断浏览器是pc端还是手机端
1. 判断浏览器是pc端还是手机端 <script type="text/javascript"> var browser = { versions: function ...
- java 判断用户是PC端和还是APP端登陆
java 判断用户是PC端和还是APP端登陆 public void getRequestHeader(HttpServletRequest request){ // 从浏览器获取请求头信息 Stri ...
- JS动态判断设备类型为PC或者移动端,然后根据设备加载相应的代码
这里是通过JS判断设备之后加载相应的网站,如果是移动端加载m开头的网站域名,如果是PC端就加载 www.开头的正式域名 <script> (function () { var url = ...
- js 判断浏览器是pc端还是移动端
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { //说明是移动端 } else { //说明是pc端 }
- 判断浏览器是pc端还是移动端
var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; retu ...
- thinkphp5判断移动或pc端访问并调用不同模板
废话不多说,直接上代码 先修改\thinkphp\library\think\view\driver\Think.php文件 把 public function __construct($config ...
- PHP判断访问者是PC端还是移动端
function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { ...
- js -- 移动端pc端自动切换
1. 判断浏览器类型 浏览器判断使用的github开源项目current-device,下面是地址: https://github.com/matthewhudson/current-device 在 ...
随机推荐
- C#版 - Leetcode 65. 有效数字 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...
- C++版 - 剑指offer面试题28: 字符串的排列
题目: 字符串的排列 热度指数:5777 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出 ...
- Leetcode:338. Bit位计数
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ...
- leetcode — restore-ip-addresses
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util. ...
- [三] java虚拟机 JVM字节码 指令集 bytecode 操作码 指令分类用法 助记符
说明,本文的目的在于从宏观逻辑上介绍清楚绝大多数的字节码指令的含义以及分类 只要认真阅读本文必然能够对字节码指令集有所了解 如果需要了解清楚每一个指令的具体详尽用法,请参阅虚拟机规范 指令简介 计算机 ...
- [UOJ310] 黎明前的巧克力
Sol 某比赛搬了这题. 首先选择两个不交非空子集且异或和为0的方案数,等价于选择一个异或和为0的集合,并把它分成两部分的方案数. 这显然可以DP来算,设 \(f[i][j]\) 表示前\(i\)个数 ...
- [日常] nginx记录post数据
1.使用log_format指令来更改日志格式,该指令只能放在http{}段 log_format 日志名 '日志内容'; server { access_log /var/log/nginx/d ...
- (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar
Eclipse中创建Maven项目 new ---> maven project ----> next 如下 普通java项目 选择 如下 quickstart 创建项目 : 输入 G ...
- O(n*logn)级别的算法之二(快速排序)的三种实现方法详解及其与归并排序的对比
一,单路快排1.测试用例: #ifndef INC_06_QUICK_SORT_DEAL_WITH_NEARLY_ORDERED_ARRAY_SORTTESTHELPER_H #define INC_ ...
- create-react-app 修改项目端口号及ip,设置代理
项目相关配置,需要在package.json中配置