我创建了一个简单的脚本来检测用户设备,如果该设备是移动的,那么它将重定向到移动端。当您使用移动设备时,该网站将创建一个cookie,当您再次访问桌面时,该cookie应该基本上会破坏重定向。以下是主网站上的代码:
<script>
// simple mobile detection script
// create a variable to store response to user agent queries
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 any of the listed agents are accessing the page, redirect to mobile version with geolocation enabled
if(isMobile.any())
{
if(jQuery.cookie('mobilea')!== 1)
{
window.location="/mobile/";
console.log('true');
}
}
</script>
使用以下代码成功在移动端实例化cookie:
jQuery.cookie('mobilea',1, {path: '/'});
有什么想法吗?
答案 0 :(得分:3)
if(jQuery.cookie('mobilea')!== 1)
始终为false,因为'1'
并不完全等于1
。切换到!=
,或将1
替换为'1'
。
if(jQuery.cookie('mobilea')!== '1')
答案 1 :(得分:1)
jQuery.cookie('mobilea')
将返回一个字符串而不是一个整数,所以你对它的严格检查永远不会是假的。如果将其更改为
jQuery.cookie('mobilea') !== '1'
您可以正确测试