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 DOM 学习第五章 表单简介
Feb 19 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
Apr 12 Javascript
jquery 元素相对定位代码
Oct 15 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
JS实现完全语义化的网页选项卡效果代码
Sep 15 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
VueJs组件之父子通讯的方式
May 06 Javascript
基于Vue实现可以拖拽的树形表格实例详解
Oct 18 Javascript
Vue实现的父组件向子组件传值功能示例
Jan 19 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文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
浅谈react 同构之样式直出
2017/11/07 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
python 多线程应用介绍
2012/12/19 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python 获取url中的参数列表实例
2018/12/18 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
采购主管的岗位职责
2013/12/17 职场文书
打架检讨书500字
2014/01/29 职场文书
财务出纳岗位职责
2014/02/03 职场文书
质量整改报告范文
2014/11/08 职场文书
庆六一开幕词
2015/01/29 职场文书
合作与交流自我评价
2015/03/09 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL