PC端web向手機端web跳轉的方式
一、js判斷終端型別
直接上程式碼
<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.*/), //是否為移動終端
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 , //是否為iPhone或者QQHD瀏覽器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web應該程式,沒有頭部與底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
};
/**
* 判斷瀏客戶端是否為移動端
*/
function isMobile(){
if(browser.versions.mobile || browser.versions.ios || browser.versions.android ||
browser.versions.iPhone || browser.versions.iPad){
return true;
}
return false;
}
</script>
二、使用,將其加在合適的位置pc到mobile,mobile到pc均可實現互跳
三、使用nginx實現跳轉 配置檔案配置,只是實現/目錄跳轉 location / { ###set $mobile 0;
if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){
set $mobile "${mobile}1";
}
if ( $http_host !~ "192.168.7.xxx" ){
set $mobile "${mobile}2";
}
if ( $cookie_vmod !~ "pc" ){
set $mobile "${mobile}3";
}
if ( $mobile = "0123" ){
rewrite ^/(.*)$
break;
}
###
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache cache_one;
proxy_cache_valid 200 304 1d;
proxy_cache_valid any 1d;
proxy_cache_key $host$uri$is_args$args;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
index index.html index.jsp login.jsp index.htm;
#proxy_redirect off;
expires 1d;
}