网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   代码交流 (https://www.0058.net/forumdisplay.php?f=16)
-   -   js判断手机访问跳转到手机站 (https://www.0058.net/showthread.php?t=5474)

Hagan 2016-03-25 02:26 PM

js判断手机访问跳转到手机站
 
4G网的降临,移动网站已经是普遍再普遍的现象了,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?
以下是我整理的一些方法,希望对大家有所帮助:

1. 第一种方法:

<script>

if(navigator.platform.indexOf('Win32')!=-1){

//pc

//window.location.href="电脑网址";

}else{

//shouji

window.location.href="手机网址";

}

</script>


2. 第二种方法:

<script type="text/javascript">

function browserRedirect() {

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 || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {

window.location.href= '手机网站地址';

} else {

window.location= '电脑网站地址';

}

}

browserRedirect();

</script>


3. 第三种方法:

<script type="text/javascript">

var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");

var browser = navigator.userAgent.toLowerCase();

var isMobile = false;

for (var i=0; i<mobileAgent.length; i++){ if (browser.indexOf(mobileAgent[i])!=-1){ isMobile = true;

//alert(mobileAgent[i]);

location.href = '手机网址';

break; } }

</script>



4. 第四种方法:

<?php

////这段放手机站里

header("Cache-Control: no-cache");

header("Pragma: no-cache");

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar = "/(symbianos|android|Mac OS|ucweb|blackberry)/i";

if($ua != '' && !preg_match($uachar, $ua)){

echo 'window.location.href="电脑地址";';

exit();

}

?>

<?php

//这段放在网站里

header("Cache-Control: no-cache");

header("Pragma: no-cache");

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar = "/(symbianos|android|Mac OS|ucweb|blackberry)/i";

if($ua != '' && preg_match($uachar, $ua)){

echo 'window.location.href="手机地址";';

exit();

}

?>



5. 第五种方法:

<?php

function UserAgent(){

$user_agent = ( !isset($_SERVER['HTTP_USER_AGENT'])) ? FALSE : $_SERVER['HTTP_USER_AGENT'];

return $user_agent;

}

//Mobile

if ((preg_match("/(iphone|ipod|android)/i", strtolower(UserAgent()))) AND strstr(strtolower(UserAgent()), 'webkit')){

header('Location: 手机网址');

exit;

}else if(trim(UserAgent()) == '' OR preg_match("/(nokia|sony|ericsson|mot|htc|samsung|sgh|lg|philips|lenovo|ucweb|opera mobi|windows mobile|blackberry)/i", strtolower(UserAgent()))){

header('Location: 手机网址');

exit;

}else{//PC

header("Location: 电脑网址");

}

?>



6. 第六种方法:也可以把名为uaredirect的文件下载到自己网站上引入;



(说明:把uaredirect放在百度中搜下就出现文件具体地址了)


7.第七种方法(医院里面的网站经常用):
/*手机跳转代码*/
var _speedMark = new Date();
(function(){
var res = GetRequest();
var par = res['index'];
if(par!='gfan'){
var ua=navigator.userAgent.toLowerCase();
var contains=function (a, b){
if(a.indexOf(b)!=-1){return true;}
};
var toMobileVertion = function(){
window.location.href = '手机端网址'
}

if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){return false}
if((contains(ua,"android") && contains(ua,"mobile"))||(contains(ua,"android") && contains(ua,"mozilla")) ||(contains(ua,"android") && contains(ua,"opera"))
||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion();}
}
})();
function GetRequest() {
var url = location.search;
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}

注意:当需要独立一个出来跳转不一样的手机端网页是:此时用这段跳转代码,优先级高;

/**电脑专题跳转js**/
var mobileAgents = ['Windows CE', 'iPod', 'Symbian', 'iPhone', 'BlackBerry', 'Android'];
var sUserAgent = navigator.userAgent;
for (var i = 0; i < mobileAgents.length; i++) {
if (sUserAgent.indexOf(mobileAgents[i]) > -1) {
location = '手机端链接';
break;
}
}

并且转告大家,最好用百度提供的跳转代码,这样对网站打开速度影响也比较小;

Hagan 2016-03-25 02:28 PM

Code:


<script>
    if(navigator.platform.indexOf('Win32')!=-1){
    //pc
        //window.location.href="http://www.cheapglasses123.com/";
    }else{
  //shouji
        window.location.href="http://www.cheapglasses123.com/mobile/index.php";
      }
</script>



All times are GMT +8. The time now is 10:43 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.