将移动用户重定向到桌面版

时间:2013-03-04 18:44:39

标签: javascript wordpress redirect mobile detect

我有一个使用设备检测的Wordpress网站,使用以下内容将用户在移动设备上浏览的用户重定向到特定页面:

<script>
if( /Android|webOS|iPhone|iPod|BlackBerry|IEMobile/i.test(navigator.userAgent) ) {
window.location = "176.32.230.17/domain.co.uk/m";
}
</script>

此代码目前位于domain.co.uk的主页模板上。刚打开身体标签后。检测和重定向工作正常,但我需要提供一个链接回该移动页面上的网站桌面版本。所以只需一个简单的链接:

<a href="http://176.32.230.17/domain.co.uk/?ref=desktop">Link back to desktop website</a>

这是因为它将用户引导回domain.co.uk地址,但是因为检测/重定向代码的位置在domain.co.uk上的主页模板上,用户被重定向回到移动版。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要在某种程度上传达用户已被重定向一次的事实。如果您使用的是PHP,则可以使用GET变量进行条件重定向。如果您只是使用Javascript,可以使用cookie。 HTML5也支持某种数据存储,但我不熟悉。

编辑:实际上,您可以将GET变量添加到地址,甚至不使用PHP。只需使用window.location.href获取地址,然后查看该变量是否仅使用Javascript设置。

EDIT2:评论太多了,所以让我把它放在这里。该链接应更改为:

<a href="http://176.32.230.17/domain.co.uk/?ref=desktop#redirected">Link back to desktop website</a>

重定向代码可以更改为:

<script>
if( /Android|webOS|iPhone|iPod|BlackBerry|IEMobile/i.test(navigator.userAgent) &&
        !window.location.href.contains("#redirected") ) {
    window.location = "176.32.230.17/domain.co.uk/m";
}
</script>