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 Event学习第二章 Event浏览器兼容性
Feb 07 Javascript
详谈 Jquery Ajax异步处理Json数据.
Sep 09 Javascript
jQuery 一个图片切换的插件
Oct 09 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 Javascript
JS实现图片的不间断连续滚动的简单实例
Jun 03 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
js实现简单的获取验证码按钮效果
Mar 03 Javascript
jquery+css实现侧边导航栏效果
Jun 12 jQuery
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使用ftp实现文件上传与下载功能
2017/07/21 PHP
动手学习无线电
2021/03/10 无线电
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
python实现自主查询实时天气
2018/06/22 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
Python 面试中 8 个必考问题
2018/11/16 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
python解析含有重复key的json方法
2019/01/22 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
用 python 进行微信好友信息分析
2020/11/28 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
出生证明格式
2015/06/15 职场文书
八一建军节主持词
2015/07/01 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Java 写一个简单的图书管理系统
2022/04/26 Java/Android