JS判断客户端是否是iOS或者Android或者ipad(三)
* * @function: 判断浏览器类型是否是Safari、Firefox、ie、chrome浏览器 * @return: true或false * */ function isSafari(){ var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.indexOf( "safari" ) > -1 && userAgent.indexOf( "chrome" ) < 0){ return true ; } return false ; } function isChrome(){ if (navigator.userAgent.indexOf( "Chrome" ) !== -1) { return true ; } return false ; } function isFirefox(){ if (navigator.userAgent.indexOf( "Firefox" )>0){ return true ; } return false ; } function isMSIE9(){ if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split( ";" )[1].replace(/[ ]/g, "" )== "MSIE9.0" ){ return true ; } return false ; } function isMSIE8(){ if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split( ";" )[1].replace(/[ ]/g, "" )== "MSIE8.0" ){ return true ; } return false ; } function isMSIE7(){ if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split( ";" )[1].replace(/[ ]/g, "" )== "MSIE7.0" ){ return true ; } return false ; }
|
JavaScript获取客户端浏览器的类型和版本,这在前端开发中经常用到,因为一些用户体验好的网站,会先判断客户端访问者的浏览器类型和版本,针对不同的版本和类型调用不同的代码,让客户端获得最佳的浏览效果,那么用JS获取客户端浏览器类型和版本号,其实是很简单的,喜欢以下代码能为您提供参考:
01 |
function getBrowserVersion(){ |
02 |
var browser = {}; |
03 |
var userAgent = navigator.userAgent.toLowerCase(); |
04 |
var s; |
05 |
(s = userAgent.match(/msie ([\d.]+)/)) |
06 |
? browser.ie = s[1] |
07 |
: (s = userAgent.match(/firefox\/([\d.]+)/)) |
08 |
? browser.firefox = s[1] |
09 |
: (s = userAgent.match(/chrome\/([\d.]+)/)) |
10 |
? browser.chrome = s[1] |
11 |
: (s = userAgent.match(/opera.([\d.]+)/)) |
12 |
? browser.opera = s[1] |
13 |
: (s = userAgent |
14 |
.match(/version\/([\d.]+).*safari/)) |
15 |
? browser.safari = s[1] |
16 |
: 0; |
17 |
var version = "" ; |
18 |
if (browser.ie) { |
19 |
version = 'msie ' + browser.ie; |
20 |
} else if (browser.firefox) { |
21 |
version = 'firefox ' + browser.firefox; |
22 |
} else if (browser.chrome) { |
23 |
version = 'chrome ' + browser.chrome; |
24 |
} else if (browser.opera) { |
25 |
version = 'opera ' + browser.opera; |
26 |
} else if (browser.safari) { |
27 |
version = 'safari ' + browser.safari; |
28 |
} else { |
29 |
version = '未知的浏览器类型' ; |
30 |
} |
31 |
return version; |
32 |
|
腾讯网的适配代码
如何判断访问网站的机器类型-如何判断ipad
JS 判断浏览器客户端类型(ipad,iphone,android)
- <script type="text/javascript">
- <!--
- //平台、设备和操作系统
- var system = {
- win: false,
- mac: false,
- xll: false,
- ipad:false
- };
- //检测平台
- var p = navigator.platform;
- system.win = p.indexOf("Win") == 0;
- system.mac = p.indexOf("Mac") == 0;
- system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
- system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
- //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面
- if (system.win || system.mac || system.xll||system.ipad) {
- } else {
- window.location.href = "http://www.jdpatro.com/3g/";
- }
- -->
- </script>
腾讯网的适配代码
- <script type="text/javascript">
- if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
- if(window.location.href.indexOf("?mobile")<0){
- try{
- if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
- window.location.href="http://shipei.qq.com/index.htm";
- }else if(/iPad/i.test(navigator.userAgent)){
- }else{
- window.location.href="http://shipei.qq.com/simple/s/index/"
- }
- }catch(e){}
- }
- }
- </script>
- <script type="text/javascript">
- 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应该程序,没有头部与底部
- google:u.indexOf('Chrome')>-1
- };
- }(),
- language : (navigator.browserLanguage || navigator.language).toLowerCase()
- }
- document.writeln("语言版本: "+browser.language);
- document.writeln(" 是否为移动终端: "+browser.versions.mobile);
- </script>
如何判断访问网站的机器类型-如何判断ipad
如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 function is_iPad(){
[object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();
[object Object] [object Object] [object Object]if(ua.match(/iPad/i)=="ipad") {
[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return true;
[object Object] [object Object] [object Object]} else {
[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return false;
[object Object] [object Object] [object Object]}
} $is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad'); RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]
JS 判断浏览器客户端类型(ipad,iphone,android)
- <script type="text/javascript">
- var bForcepc
- = fGetQuery("dv") == "pc";
- function
- fBrowserRedirect(){
- 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";
- if(bIsIpad){
- var sUrl =
- location.href;
- if(!bForcepc){
- window.location.href = "http://ipad.mail.163.com/";
- }
- }
- if(bIsIphoneOs || bIsAndroid){
- var sUrl =
- location.href;
- if(!bForcepc){
- window.location.href = "http://smart.mail.163.com/";
- }
- }
- if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){
- var sUrl =
- location.href;
- if(!bForcepc){
- window.location.href = "http://m.mail.163.com/";
- }
- }
- }
- function
- fGetQuery(name){//获取参数值
- var sUrl = window.location.search.substr(1);
- var r = sUrl.match(new RegExp("(^|&)" + name +
- "=([^&]*)(&|$)"));
- return (r == null ? null : (r[2]));
- }
- function
- fShowVerBlock(){
- if(bForcepc){
- document.getElementByIdx_x("dv_block").style.display = "block";
- }
- else{
- document.getElementByIdx_x("ad_block").style.display = "block";
- }
- }
- fBrowserRedirect();
- </script>
JS判断客户端是否是iOS或者Android或者ipad(三)的更多相关文章
- JS判断客户端是否是iOS或者Android或者ipad(二)
js判断客户端是IPAD和iphone 多了就不说了,直接上代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 funct ...
- JS判断客户端是否是iOS或者Android或者ipad(一)
通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端.代码如下<script type="text/javascript"> var u ...
- JS判断客户端是否是iOS或者Android
通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端.代码如下: <script type="text/javascript"> var ...
- JS判断客户端是否是iOS或者Android手机移动端(转载)
前言: 上午有一个移动端的项目负责人问我,在ios系统上样式出现问题,因为内核原因,我改来改去,在ios弄好了,但在安卓有问题了,突然想到了一种办法,既然ios是一种机型,安卓是一种机型,可以检测用户 ...
- JS判断客户端是否是iOS或者Android端
通过判断浏览器的userAgent,用正则来判断手机是否是 IOS 和 Android 客户端. 代码如下: (function(){ var u = navigator.userAgent; var ...
- H5 JS判断客户端是否是iOS或者Android手机移动端
<script type="text/javascript"> var u = navigator.userAgent; || u.indexOf(; //androi ...
- JS判断客户端是否是iOS或者Android手机移动端
var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > - ...
- js 判断当前操作系统是ios还是android还是电脑端
js判断客户端是否是IOS或者是Android //如果返回true 则说明是Android function is_weixin() { var ua = window.navigator.user ...
- js判断客户端是否是IOS系统
在手机端应用的开发中,经常会碰到IOS系统跟Android系统去访问同一个内容时的展示效果不同,这时候我们需要区别对待,下面代码就是用js判断手机终端是否IOS系统: //判断是否为ios系统:是IO ...
随机推荐
- 【转】Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
阅读目录 目录 Oracle集群概念和原理 RAC概述 RAC 集成集群件管理 RAC 的体系结构 RAC 的结构组成和机制 RAC 后台进程 RAC 共享存储 RAC 数据库和单实例数据库的区别 ...
- [luogu2765 网络流24题] 魔术球问题 (dinic最大流)
传送门 题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之 ...
- P1828 香甜的黄油 Sweet Butter (spfa)
题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...
- django视图的定义
概述 视图:视图的本质就是一个python中的函数,作用是接收web请求,并响应web请求. 过程:django获取浏览器输入的url,经过django中的url管理器匹配到对应的视图函数,视图管理器 ...
- python第七周:反射、异常
1.反射: 1.1定义:通过字符串映射或修改程序运行时的状态.属性.方法 1.2有以下四个方法: (1)hasattr(object,str) 判断object对象中是否有对应的方法或属性,返回值:T ...
- 面试准备专题——SOA架构
- @value 注解获取属性文件中的值
一.属性文件 db.properties name=jack 二.配置文件 applicationContext.xml <!-- 加载配置文件,该节点只能存在一个,所以用 * ,加载所有属性文 ...
- HDU2188 选拔志愿者
/* HDU2188 选拔志愿者 http://acm.hdu.edu.cn/showproblem.php?pid=2188 博弈论 巴什博奕 巴什博奕要注意n<=m时是必胜态 * * * * ...
- HDU 1215
由算术基本定理, 直接使用公式就好 #include <iostream> #include <cstdio> #include <algorithm> #incl ...
- ISAM Indexed Sequential Access Method 索引顺序存取方法
ISAM Indexed Sequential Access Method 索引顺序存取方法 学习了:https://baike.baidu.com/item/ISAM/3013855 是IBM发展起 ...