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 相关文章推荐
javascript下IE与FF兼容函数收集
Sep 17 Javascript
javascript 命名空间以提高代码重用性
Nov 13 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
JS控制日期显示的小例子
Nov 23 Javascript
jquery 取子节点及当前节点属性值的方法
Aug 24 Javascript
jQuery中parent()方法用法实例
Jan 07 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
Jul 11 Javascript
Vue-cli创建项目从单页面到多页面的方法
Sep 20 Javascript
webpack css加载和图片加载的方法示例
Sep 11 Javascript
微信小程序修改checkbox的样式代码实例
Jan 21 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP中16个高危函数整理
2019/09/19 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
Vue2.5通过json文件读取数据的方法
2018/02/27 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
python如何实时获取tcpdump输出
2020/09/16 Python
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
银行委托书范本
2014/09/28 职场文书
员工工作及收入证明
2014/10/28 职场文书
挂靠协议书
2015/01/27 职场文书
2015年仓库工作总结
2015/04/09 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
解决golang结构体tag编译错误的问题
2021/05/02 Golang
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python