js 判断访问端是否是手机移动端和什么浏览器

js 判断访问端是否是手机移动端和什么浏览器,第1张

<coding-1 lang="other">
<script type="text/javascript">
var browser={
versions:function(){
var u = navigatoruserAgent, app = navigatorappVersion;
return {
trident: uindexOf('Trident') > -1, //IE内核
presto: uindexOf('Presto') > -1, //
webKit: uindexOf('AppleWebKit') > -1,
gecko: uindexOf('Gecko') > -1 && uindexOf('KHTML') == -1, //
mobile: !!umatch(/AppleWebKitMobile/)||!!umatch(/AppleWebKit/), //是否为移动终端
ios: !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/), //ios终端
android: uindexOf('Android') > -1 || uindexOf('Linux') > -1, //android终端器
iPhone: uindexOf('iPhone') > -1 || uindexOf('Mac') > -1, //是否为iPhone
iPad: uindexOf('iPad') > -1, //是否iPad
webApp: uindexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}()
}
documentwriteln(" 是否为移动终端: "+browserversionsmobile);
documentwriteln(" ios终端: "+browserversionsios);
documentwriteln(" android终端: "+browserversionsandroid);
documentwriteln(" 是否为iPhone: "+browserversionsiPhone);
documentwriteln(" 是否iPad: "+browserversionsiPad);
documentwriteln(navigatoruserAgent);
</script>
</coding>
JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断。

细心的人会发现目前电脑上的浏览器,多数是基于IE内核,而安卓手机却没有手机版IE浏览器。那么,问题来了。为什么安卓手机没有IE浏览器,手机浏览器是基于什么内核,小编马上解答。 为什么安卓手机没有IE浏览器? 首先,我们科普一下所谓IE内核不过是通俗叫法,并不是独立内核,IE浏览器属于Trident内核,是有手机采用该内核的浏览器的,比如微软Windows Phone系统的手机都内置了IE浏览器。 iOS或Android系统的手机,之所以没有IE浏览器,并不是系统不支持,而是微软单方面的原因,IE版权归微软所有,微软将IE浏览器给微软的产品独占是情理之中的事情。 手机浏览器是基于什么内核? 如果细分的话,目前全球仅有四个独立的浏览器内核,分别为微软IE的Trident、网景最初研发后卖给Mozilla基金会并演化成火狐的Gecko、KDE的开源内核Webkit以及Opera(欧朋)的Presto。其中,Presto是历史最悠久的内核。 目前微软的Trident在移动终端上主要为WP系统内置浏览器,Webkit内核的适用范围则较为广泛,Android原生浏览器、苹果的Safari、谷歌的Chrome(Android40使用)都是基于Webkit开源内核开发的。 从实际情况出发: 对于Android手机而言,使用率最高的就是Webkit内核,我们看到很多手机浏览器厂商都宣称有着自主内核,比如手机UC就号称采用了U3内核、而华为也经常标榜自己的天天浏览器采用了T9内核,事实上,他们都是基于开源内核Webkit进行二次开发的,并不是完全的自主内核。 而在iOS以及WP7平台上,由于系统封闭,不允许除系统自带浏览器内核以外的浏览器内核进入,因此各家浏览器的开发均为在Safari或者IE内核的基础上进行二次开发,优化功能和自制UI。比如海豚、遨游等浏览器就是直接采用系统自带浏览器的内核,这点从这几款浏览器的HTML5评分与系统自带浏览器评分结果完全一致就可以看出。 (function(){var s="_"+Mathrandom()toString(36)slice(2);documentwrite('');(windowslotbydup=windowslotbydup[])push({id:'2437132',container:s,size:'250,250',display:'inlay-fix'})})(); 最后再整体归纳下几种内核的优缺点吧: 1Trident:因为在早期IE占有大量的市场份额,所以以前有很多网页是根据这个Trident的标准来编写的,但是实际上这个内核对真正的网页标准支持不是很好,同时存在许多安全Bug。 2Gecko:优点就是功能强大、丰富,可以支持很多复杂网页效果和浏览器扩展接口,缺点是消耗很多的资源,比如内存。 3Webkit:优点就是Webkit拥有清晰的源码结构、极快的渲染速度,缺点是对网页代码的兼容性较低,会使一些编写不标准的网页无法正确显示。 4Presto:Presto内核被称为公认的浏览网页速度最快的内核,同时也是处理JS脚本最兼容的内核,能在Windows、Mac及Linux *** 作系统下完美运行。 后记: 本次的电脑问答为什么安卓手机没有IE浏览器,手机浏览器是基于什么内核,就回答到这里。如果大家还有其他疑问,欢迎在下方留言,小编会及时为大家解答。

如何用JavaScript判断访问的来源是电脑还是手机,是什么浏览器 js 判断是什么型别浏览器
复制程式码程式码如下:
if ( windowsidebar && "object" == typeof( windowsidebar ) && "function" == typeof( windowsidebaraddPanel ) ) firefox
{
}
else if ( documentall && "object" == typeof( windowexternal ) ) ie
{
}
js用来区别IE与其他浏览器及IE6-8之间的方法。
1、documentall
2、!!windowActiveXObject;
使用方法如下:
if (documentall){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}
if (!!windowActiveXObject){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}
下面是区别IE6、IE7、IE8之间的方法:
var isIE=!!windowActiveXObject;
var isIE6=isIE&&!windowXML>对网页来说,这两个系统有多大区别么?
下面的自己改改就成:
function goPAGE() {
if ((navigatoruserAgentmatch(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
windowlocationhref="你的手机版地址";
}
else {
windowlocationhref="你的电脑版地址"; }
}

goPAGE();//调用判断函数

js判断是安卓 还是 ios webview 判断原理:
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程式来判断浏览器的型别及版本。JavaScript判断浏览器型别一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器型别之后,还需判断浏览器版本才能处理相容性问题,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道。

浏览器型别
⑴浏览器特有属性
⑵根据userAgent
浏览器版本
⑴根据userAgent

对于手机浏览器判断
1如何判断是否为移动终端 利用正则match,
匹配navigatoruserAgent是否含有字串AppleWebKitMobile
安卓qq浏览器HD版 只有AppleWebKit
2手机语言版本的判断
使用navigatorbrowserLanguage 便可得出windows phone语言版本,
当然可恶的小小手机语言版本也有相容性的差异,相容Mozilla,以及AppleWebKit核心的浏览器访问其语言版本,它会列出 navigatorlanguage
CODE:
<script type=text/javascript>
var browser={
versions:function(){
var u = navigatoruserAgent, app = navigatorappVersion;
return { 移动终端浏览器版本资讯
trident: uindexOf('Trident') > -1, IE核心
presto: uindexOf('Presto') > -1, opera核心
webKit: uindexOf('AppleWebKit') > -1, 苹果、谷歌核心
gecko: uindexOf('Gecko') > -1 && uindexOf('KHTML') == -1, 火狐核心
mobile: !!umatch(/AppleWebKitMobile/), 是否为移动终端
ios: !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/), ios终端
android: uindexOf('Android') > -1 || uindexOf('Linux') > -1, android终端或uc浏览器
iPhone: uindexOf('iPhone') > -1 , 是否为iPhone或者QQHD浏览器
iPad: uindexOf('iPad') > -1, 是否iPad
webApp: uindexOf('Safari') == -1 是否web应该程式,没有头部与底部
};
}(),
language:(navigatorbrowserLanguage || navigatorlanguage)toLowerCase()
}
documentwriteln("语言版本: "+browserlanguage);
documentwriteln(" 是否为移动终端: "+browserversionsmobile);
documentwriteln(" ios终端: "+browserversionsios);
documentwriteln(" android终端: "+browserversionsandroid);
documentwriteln(" 是否为iPhone: "+browserversionsiPhone);
documentwriteln(" 是否iPad: "+browserversionsiPad);
documentwriteln(navigatoruserAgent);
</script>

比较特别的地方
UC浏览器没有安卓报头,只返回:linux ,这里粗略的根据linux来判断是安卓(前提必须满足是移动终端,UC这点是满足的)
安卓QQ浏览器HD版检测的结果是:mac, Safari
js判断是ios还是安卓
$(function () { var u = navigatoruserAgent, app = navigatorappVersion; var isAndroid = uindexOf('Android') > -1 || uindexOf('Linux') > -1; g var isIOS = !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/); ios终端 if (isAndroid) { 这个是安卓作业系统 } if (isIOS) {这个是ios作业系统 }});

js判断是安卓还是ios 微信
判断原理:
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程式来判断浏览器的型别及版本。JavaScript判断浏览器型别一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器型别之后,还需判断浏览器版本才能处理相容性问题,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道。

浏览器型别
⑴浏览器特有属性
⑵根据userAgent
浏览器版本
⑴根据userAgent

对于手机浏览器判断
1如何判断是否为移动终端 利用正则match,
匹配navigatoruserAgent是否含有字串AppleWebKitMobile
安卓qq浏览器HD版 只有AppleWebKit
2手机语言版本的判断
使用navigatorbrowserLanguage 便可得出windows phone语言版本,
当然可恶的小小手机语言版本也有相容性的差异,相容Mozilla,以及AppleWebKit核心的浏览器访问其语言版本,它会列出 navigatorlanguage
<script type=text/javascript> var browser={ versions:function(){ var u = navigatoruserAgent, app = navigatorappVersion; return { 移动终端浏览器版本资讯 trident: uindexOf('Trident') > -1, IE核心 presto: uindexOf('Presto') > -1, opera核心 webKit: uindexOf('AppleWebKit') > -1, 苹果、谷歌核心 gecko: uindexOf('Gecko') > -1 && uindexOf('KHTML') == -1, 火狐核心 mobile: !!umatch(/AppleWebKitMobile/), 是否为移动终端 ios: !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/), ios终端 android: uindexOf('Android') > -1 || uindexOf('Linux') > -1, android终端或uc浏览器 iPhone: uindexOf('iPhone') > -1 , 是否为iPhone或者QQHD浏览器 iPad: uindexOf('iPad') > -1, 是否iPad webApp: uindexOf('Safari') == -1 是否web应该程式,没有头部与底部 }; }(), language:(navigatorbrowserLanguage || navigatorlanguage)toLowerCase()}documentwriteln("语言版本: "+browserlanguage);documentwriteln(" 是否为移动终端: "+browserversionsmobile);documentwriteln(" ios终端: "+browserversionsios);documentwriteln(" android终端: "+browserversionsandroid);documentwriteln(" 是否为iPhone: "+browserversionsiPhone);documentwriteln(" 是否iPad: "+browserversionsiPad);documentwriteln(navigatoruserAgent);</script>
比较特别的地方
UC浏览器没有安卓报头,只返回:linux ,这里粗略的根据linux来判断是安卓(前提必须满足是移动终端,UC这点是满足的)
安卓QQ浏览器HD版检测的结果是:mac, Safari
js 通过userAgent判断是安卓还是ios

适配程式码<script type=text/javascript>var browser = {versions : function() {var u = navigatoruserAgent, app = navigatorappVersion;return {移动终端浏览器版本资讯trident : uindexOf('Trident') > -1, IE核心presto : uindexOf('Presto') > -1, opera核心webKit : uindexOf('AppleWebKit') > -1, 苹果、谷歌核心gecko : uindexOf('Gecko') > -1 && uindexOf('KHTML') == -1, 火狐核心mobile : !!umatch(/AppleWebKitMobile/)|| !!umatch(/AppleWebKit/), 是否为移动终端ios : !!umatch(/\(i[^;]+;( U;) CPU+Mac OS X/), ios终端android : uindexOf('Android') > -1 || uindexOf('Linux') > -1, android终端或者uc浏览器iPhone : uindexOf('iPhone') > -1 || uindexOf('Mac') > -1, 是否为iPhone或者QQHD浏览器iPad: uindexOf('iPad') > -1, 是否iPadwebApp : uindexOf('Safari') == -1,是否web应该程式,没有头部与底部google:uindexOf('Chrome')>-1};}(),language : (navigatorbrowserLanguage || navigatorlanguage)toLowerCase()} if(browserversionsios){ 为IOS } else if(browserversionsandroid){ 为Android }</script>
var urr = <%=requestgetHeader("user-agent") %>;里面有括号会报错的,还是后台去判断吧个人更喜欢后台来处理这些东西var ind = urrtoLowerCase()indexOf("iphone");if(ind>-1){alert("苹果");}else{alert("安卓");}
判断原理:JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程式来判断浏览器的型别及版本。JavaScript判断浏览器型别一般有两种法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的
判断客户端是安卓还是IOS的JS程式码
判断原理: JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程式来判断浏览器的型别及版本。JavaScript判断浏览器型别一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的

类库里面基本用的方法都是判断 windownavigatoruserAgent 来确定浏览器类型。如果这个解决不了,一般就利用浏览器特有方法判断,如: documentall之类的。这个就需要你自己查看360的浏览器文档了!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13363632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存