文档章节

通过JS语句判断WEB网站的访问端是电脑还是手机

豆花饭烧土豆
 豆花饭烧土豆
发布于 2015/05/29 05:19
字数 664
阅读 17
收藏 0
<script type="text/javascript">
<!--
        //平台、设备和操作系统
        var system = {
            win: false,
            mac: false,
            xll: false,
            ipad:false
        };
        //检测平台
        var p = navigator.platform;
        system.win = p.indexOf("Win") == 0;
        system.mac = p.indexOf("Mac") == 0;
        system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
        system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
        //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面
        if (system.win || system.mac || system.xll||system.ipad) {
 
        } else {
 
            window.location.href = "http://www.jdpatro.com/3g/";
        }
-->
</script>

腾讯网的适配代码

<script type="text/javascript"> 
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
    if(window.location.href.indexOf("?mobile")<0){
        try{
            if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
                window.location.href="http://shipei.qq.com/index.htm";
            }else if(/iPad/i.test(navigator.userAgent)){
            }else{
                window.location.href="http://shipei.qq.com/simple/s/index/"
            }
        }catch(e){}
    }
}
</script>
<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应该程序,没有头部与底部
            google:u.indexOf('Chrome')>-1
        };
    }(),
    language : (navigator.browserLanguage || navigator.language).toLowerCase()
    }
    document.writeln("语言版本: "+browser.language);
    document.writeln(" 是否为移动终端: "+browser.versions.mobile);
</script>

如何判断访问网站的机器类型-如何判断ipad

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

function is_iPad(){        
 [object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();
 [object Object] [object Object] [object Object]if(ua.match(/iPad/i)=="ipad") {                
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return true;
 [object Object] [object Object] [object Object]} else {
 [object Object] [object Object] [object Object] [object Object] [object Object] [object Object]return false;
 [object Object] [object Object] [object Object]}
}


$is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]

JS 判断浏览器客户端类型(ipad,iphone,android)

<script type="text/javascript"> 
   var bForcepc
= fGetQuery("dv") == "pc";  
   function
fBrowserRedirect(){  
       var sUserAgent = navigator.userAgent.toLowerCase(); 
       var bIsIpad = sUserAgent.match(/ipad/i) ==
"ipad";   
       var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; 
       var bIsMidp = sUserAgent.match(/midp/i) == "midp"; 
       var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; 
       var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; 
       var bIsAndroid = sUserAgent.match(/android/i) == "android"; 
       var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; 
       var bIsWM = sUserAgent.match(/windows mobile/i) == "windows
mobile";  
       if(bIsIpad){  
           var sUrl =
location.href;     
           if(!bForcepc){  
               window.location.href = "http://ipad.mail.163.com/"; 
           }  
       }  
       if(bIsIphoneOs || bIsAndroid){  
           var sUrl =
location.href;     
           if(!bForcepc){  
               window.location.href = "http://smart.mail.163.com/"; 
           }  
       }  
       if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){  
           var sUrl =
location.href;     
           if(!bForcepc){  
               window.location.href = "http://m.mail.163.com/"; 
           }  
       }  
   } 
   function
fGetQuery(name){//获取参数值  
       var sUrl = window.location.search.substr(1); 
       var r = sUrl.match(new RegExp("(^|&)" + name +
"=([^&]*)(&|$)")); 
       return (r == null ? null : (r[2])); 
   } 
   function
fShowVerBlock(){    
       if(bForcepc){  
           document.getElementByIdx_x("dv_block").style.display = "block"; 
       }  
       else{  
           document.getElementByIdx_x("ad_block").style.display = "block"; 
       }  
   } 
   fBrowserRedirect();  
   </script>


本文转载自:http://my.oschina.net/docin/blog/200663#OSC_h2_1

豆花饭烧土豆

豆花饭烧土豆

粉丝 15
博文 358
码字总数 93985
作品 0
深圳
私信 提问
web网站怎么获取访问的移动设备的屏幕大小

(问题提过一次了,不过哪个的点主要在移动开发上,新发一个侧重web网站移动设备访问的) 老板准备做一些功能,给公司一些老大在手机和平板上查看公司业务信息用的 查看的东西比较简单,就是...

ddtt
2012/11/02
1K
0
移动开发疑问,有经验的大神帮看一下

老板准备做一些功能,给公司一些老大在手机和平板上查看公司业务信息用的 查看的东西比较简单,就是现有库存啊,最新订单之类的 没有研究过移动开发方面的东西,小弟有几个疑问想请教一下各位...

ddtt
2012/11/02
210
6
手机版网站起码要实现一些基本的功能

手机版网站起码要实现一些基本的功能吧: 1.页面的适用性问题。对于移动终端,有不一样的分辨率与屏幕尺寸,如果还像电脑端的设计还限制网页的宽度为1003px或其他像素值,字体大小 还用12px或...

roockee
2014/04/03
0
0
如何提升网站在移动端的打开速度(转)

原文来自:http://www.studyofnet.com/news/173.html 本文导读:“移动网络”是个非常模糊的概念, 2g 3g wifi都是移动网络,但是网络特性以及对应的优化方法还是有些区别的。 对于移动端而言...

巴顿
2014/11/28
0
6
pc调试移动终端web代码(工具Weinre)

做移动web开发的同仁,多少都为各个浏览器困扰。基于手机浏览器的性能和各个开发商的私人考虑,我们现在在android、ios等系统还很难使用到完全统一的浏览器内核。无论是ucweb、chrome、safar...

嘻哈开发者
2014/02/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

智慧酒店方案能给酒店带来什么?

酒店在升级的过程中,智慧酒店在品牌升级最后的归属。那么智慧酒店方案可以为酒店带来怎么样的经济效益呢?智慧酒店主要是可以降低运营成本。此外,智慧酒店也能提高客人体验度。 那什么叫智慧...

非思丸FaceTo
21分钟前
5
0
金融壹账通黄润中:“5G到来将使金融科技取得突破性颠覆”

最近一个月,伴随着气温的升高,5G的热度也在不断提升。6月初,5G商用牌照正式发布,5G手机紧随其后在各地亮相。5G技术也给金融领域带来了深远影响,金融机构如何抓住5G时代的机遇和挑战,实...

IFTNews
32分钟前
8
0
怎么才能在远程桌面让电脑不休眠

  想要在使用远程桌面时,不然电脑休眠,那么,按照下面的操作去进行就可以了。   在建立连接之前,进入控制面板,找到电源选项,把所有关闭显示器等方面的功能全部调成“从不”,然后开...

takethelas
35分钟前
5
0
android opencv实现人脸检测 以及 年龄和性别识别

支持技术分享,转载或复制,请指出文章来源此博客作者为Jack__0023 1、背景 因为面对的场景不同,所以我上次使用 android 提供的人脸检测 已经不能满足我的使用,因为长时间开启,他会出现各...

jack__0023
44分钟前
9
0
JDK动态代理[4]----ProxyGenerator生成代理类的字节码文件解析

通过前面几篇的分析,我们知道代理类是通过Proxy类的ProxyClassFactory工厂生成的,这个工厂类会去调用ProxyGenerator类的generateProxyClass()方法来生成代理类的字节码。ProxyGenerator这个...

xiaomin0322
45分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部