经过多天的搜索和测试,我无法解决为什么简单的移动重定向不重定向的原因。我已经测试了网络上的几个变种,但无济于事。如果有人有时间看我的东西,请做。提前谢谢。
我的目标:在检测到用户代理后将网站重定向到移动网站。
我的代码如下。注意:如果我改变
if(isMobile.any()) {
到
if(isMobile) {
桌面浏览器将重定向该网站。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script>
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
if(isMobile.any()) {
{ window.location = 'http://www.briggsmechanical.com/mobile/index.html';
}
}
</script>
答案 0 :(得分:0)
代码似乎对我有用。
我创造了这个小提琴: http://jsfiddle.net/dkemvuyu/1/
但是刚刚更换了&#39; if&#39;用:
if(isMobile.any()) {
alert('Device is a mobile');
} else{
alert('Device is NOT a mobile');
}
然后用我的iphone导航到它,警报按预期出现(告诉我我正在使用移动设备)。
所有我可以假设的是,mobiletest.me网站不会将useragent标头作为与网站设备对应的请求的一部分发送(ps我也测试了通过mobiletest.me网站导航到小提琴并且它告诉我,我不是一个确认我的想法的移动设备。