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 相关文章推荐
jquery 表格排序、实时搜索表格内容(附图)
May 19 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
Validform表单验证总结篇
Oct 31 Javascript
jQuery基于Ajax方式提交表单功能示例
Feb 10 Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 Javascript
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
详解用JS添加和删除class类名
Mar 25 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
javascript实现评分功能
Jun 24 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 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实现的连贯操作、链式操作实例
2014/07/08 PHP
php生成curl命令行的方法
2015/12/14 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
php实现网页端验证码功能
2017/07/11 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
PHP asXML()函数讲解
2019/02/03 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
python魔法方法-自定义序列详解
2016/07/21 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
django中静态文件配置static的方法
2018/05/20 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
python+flask实现API的方法
2018/11/21 Python
python创造虚拟环境方法总结
2019/03/04 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
django+echart数据动态显示的例子
2019/08/12 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
同学会邀请书大全
2014/01/12 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
十佳美德少年事迹材料
2014/02/05 职场文书
高中生逃课检讨书
2014/10/10 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android