js识别手机访问自动跳转到相应页面

Posted 面朝阳光/

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js识别手机访问自动跳转到相应页面相关的知识,希望对你有一定的参考价值。

/*
* 智能机浏览器版本信息:
*
*/
  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应该程序,没有头部与底部
            };
         }(),
         language:(navigator.browserLanguage || navigator.language).toLowerCase()
}

/*
* 调用方法:mobT()//放到那些需要跳转的页面底部
*
*/
function mobT(){
    if(browser.versions.android || browser.versions.iPhone || browser.versions.ios){
        var tourl="";
        var url=document.location.href;
        var sarr=url.split("/");//将url地址按"/"分段主要是用来获取需要跳转的页面然后拼接
        if(sarr[3]!=null){
            if(sarr[3].indexOf("work")>-1 || sarr[3].indexOf("about")>-1 || sarr[3].indexOf("friend")>-1 || sarr[3].indexOf("photo")>-1);//判断这些页面是不需要跳转的,因为我添加的是模板,所以要判断。
            else if(sarr[3].indexOf("index")==0)
                tourl="m/";
            else       
                tourl="m/"+sarr[3];//拼接 以http://www.86y.org/art_detail.aspx?id=583为例,需要获取只是art_detail.aspx?id=583部分,所以手机页面是 m/art_detail.aspx?id=583。依此类推!
        }
        else
            tourl="m/index.aspx" //首页拼接
        window.location.href=tourl;
    }
}

------------------------------------第二种------------------------------------------------------

电脑端地址:例:(86y.org)
手机端地址:例:目录(86y.org/m)或二级域名(m.86y.org)

function mobT(){ var sUserAgent = navigator.userAgent.toLowerCase(); var tourl=""; var url=document.location.href; var pcurl="86y.org"; var moblieurl="86y.org/m"; if ((sUserAgent.match(/(ipod|iphone os|midp|ucweb|android|windows ce|windows mobile)/i))) { //pc端转手机端 if(url.indexOf(moblieurl)==-1) { tourl=url.replace(pcurl,moblieurl); window.location.href=tourl; } } else{ //手机端转pc端 if(url.indexOf("http://styhsoft.eicp.net:4658/test/m/")!=-1) { tourl=url.replace(moblieurl,pcurl); window.location.href=tourl; } } } mobT();

 




以上是关于js识别手机访问自动跳转到相应页面的主要内容,如果未能解决你的问题,请参考以下文章

怎样判断手机端和电脑端自动跳转到各自的页面

不同终端实现自动跳转到相应页面的js代码

求 怎么用JS代码识别手机和电脑然后让他们跳转到各自的网页,比如点击一个超连接,手机跟电脑会进入不

PHP根据设备类型自动跳转相应网址页面,这个现在实用

如何让www网址自动识别电脑、平板、手机,然后进行相应跳转?

如何实现手机访问时自动跳转到手机网站上,而不是PC网站呢?独立的域名以及空间