我使用以下脚本将移动用户重定向到我的移动网站。
我在header.php中有我的代码,然后通过我的index.php文件包含。
的header.php:
<script>
function urlParam(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if(results)
return results[1] || 0;
else
return '';
}
if(urlParam('view') == 'full'){
}
if(urlParam('view') == ''){
// <![CDATA[
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if (mobile) {
document.location = "http://m.hewdenportal.co.uk";
}
// ]]>
}
</script>
的index.php:
include 'header.php';
在我的移动网站上,我有以下链接,应该将用户带到我的完整网站:
<a href="http://www.hewdenportal.co.uk?view=full" data-ajax="false">Full Site</a>
出于某种原因,这似乎并不能使用户保持在完整的网站上并将其重定向到移动网站。请有人能告诉我哪里出错了吗?
由于
答案 0 :(得分:2)
最好是
function getUrlParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var viewType = getUrlParameter('view');
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if(viewType=='full'){
//Redirect to Full site
document.location = "http://www.hewdenportal.co.uk";
} else if(viewType=='mobile'){
//Redirect to Mobile
document.location = "http://m.hewdenportal.co.uk";
} else if(mobile){
document.location = "http://m.hewdenportal.co.uk";
} else {
//No parameter , show desktop site
document.location = "http://www.hewdenportal.co.uk";
}
说明:首先测试他是否点击了移动链接或桌面,如果点击桌面,然后显示完整网站,如果点击移动链接show mobile。如果他在移动设备上并没有点击任何链接,那么我们默认为他的设备,并向他展示移动网站。
了解详情 Read here