JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器


Posted in Javascript onDecember 12, 2013

js 判断是什么类型浏览器

 if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) ) //  firefox
{
  }
   else if ( document.all && "object" == typeof( window.external ) )   //  ie
   {
    }

js用来区别IE与其他浏览器及IE6-8之间的方法。

1、document.all
2、!!window.ActiveXObject;

使用方法如下:

if (document.all){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}

if (!!window.ActiveXObject){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}

下面是区别IE6、IE7、IE8之间的方法:

var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
if (isIE6){
alert(”ie6″);
}else if (isIE8){
alert(”ie8″);
}else if (isIE7){
alert(”ie7″);
}
}

首先我们确保这个浏览器为IE的情况下,进行了在一次的检测,如果你对此有怀疑,可以测试一下。

我这里就直接使用在判断中了,你也可以将他们先进行声明成变量进行使用。据说火狐以后也会加入document.all这个方法,所以建议使用第二种方法,应该会安全一些。

用navigator.userAgent.indexOf()来区分多浏览器,代码示例如下:

<coding-1 lang="other">
<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应该程序,没有头部与底部 
};
}()
} 
document.writeln(" 是否为移动终端: "+browser.versions.mobile);
document.writeln(" ios终端: "+browser.versions.ios);
document.writeln(" android终端: "+browser.versions.android);
document.writeln(" 是否为iPhone: "+browser.versions.iPhone);
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent); 
</script>
</coding>

JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断。
Javascript 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
Apr 07 Javascript
JavaScript基础知识之数据类型
Aug 06 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
Oct 23 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 Javascript
JS+CSS相对定位实现的下拉菜单
Oct 06 Javascript
JavaScript Date对象详解
Mar 01 Javascript
关于Vue项目跨平台运行问题的解决方法
Sep 18 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
Jul 02 Javascript
使用kbone解决Vue项目同时支持小程序问题
Nov 08 Javascript
浅谈Web Storage API的使用
Jun 23 Javascript
js中typeof的用法汇总
Dec 12 #Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 #Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 #Javascript
js实现弹窗插件功能实例代码分享
Dec 12 #Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 #Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 #Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
Dec 12 #Javascript
You might like
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
Python用户自定义异常的实现
2020/12/25 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
大四学生毕业自荐信
2013/11/07 职场文书
总裁办公室主任职责
2014/01/02 职场文书
质量整改报告范文
2014/11/08 职场文书
2015年校长新年寄语
2014/12/08 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
责任书格式
2015/01/29 职场文书
研讨会通知
2015/04/27 职场文书
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技