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;
}
}
并且转告大家,最好用百度提供的跳转代码,这样对网站打开速度影响也比较小;
|