能判断是电脑端还是手机端的javascript,自动跳转到手机wap版网站

开始专业人士和我说,将来(也就是现在)会是移动互联网的世界,起初我很怀疑,因为虽然随身携带的手机虽然很是便捷,但是和电脑比起来有些方面使用起来还是很多不便,比如键盘太小、屏幕太小、不能插usb等。

当然一件似乎不大可能的事儿,快速的发展离不开蝴蝶效应,和攀比心理。

其实很多年前就有寻找一种可以失败终端的代码,这样就可以给用户提供合适的交互界面,比较百度的优化很离谱,浏览器的压缩很奇怪。

今天帮李军同学测试站点是否被猎豹浏览器屏蔽,不小心在他博客发现了这样的代码。是的这么好的东西怎么忍心不分享,比较现在已经是移动互联网的世界了,手机浏览器的天下了。很多中小型站长应该很需要这样的代码。

使用方法:将下面代码放入你需要识别页面的hade标签前面,然后将下面的 http://m.google.com`` 修改为您的手机版站点的地址! 代码使用方法:将http://m.google.com/修改为你页面跳转结果页地址,所以如果不仅仅是首页需要跳转那么其他每个页面都需要程序获取比如当前页面为https://yijile.com/log/239/` 那么我就要设置为 http://m.yijile.com/log/239/ 这样访问 239 才会跳到手机版的 239,如果只是填 http://m.yijile.com/ 那么就会去手机版首页。
也就是说 网址不是填你的手机版域名,而是页面。不然你所有页面都会跳转到手机版首页

版本1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script language="javascript"> 
//平台、设备和操作系统
var system ={
win : false,
mac : false,
xll : 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);
//跳转语句,如果是手机访问就自动跳转到m.yijile.com页面
if(system.win||system.mac||system.xll){
}else{
window.location.href="http://m.yijile.com";
}
</script>

版本2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script language="javascript"> 
function is_mobile() {
var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i;
var u = navigator.userAgent;
if (null == u) {
return true;
}
var result = regex_match.exec(u);

if (null == result) {
return false
} else {
return true
}
}
if (is_mobile()) {
document.location.href= 'http://m.yijile.com'; //修改 http://m.yijile.com 为你所需跳转目标页地址
}
</script>

版本3 百度webapp版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!---识别手机或电脑的js开始--->
<script language="javascript">
(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;}
};
//将下面的 http://m.yijile.com 改成你的wap手机版页面地址 如我的 http://m.yijile.com
var toMobileVertion = function(){
window.location.href = 'http://m.yijile.com/'
}

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; //获取url中"?"符后的字串
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;
}
</script>
<!---识别手机或电脑的js结束--->

代码3转自:李军(http://jun.li/zhanzhang/auto-wap.html)

代码来源:http://siteapp.baidu.com/
2014-05-21 21:22 更新

Relay Tips: 一极乐https://yijile.com/log/239/