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

Redirecting a mobile user to a desktop version

本文关键字:桌面 版本 重定向 移动 用户      更新时间:2023-09-26

我有一个Wordpress网站,它使用设备检测来重定向用户在他们的移动设备上浏览到一个特定的页面,使用如下:

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

此代码目前位于主页模板的域名。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.的主页模板上。在英国,用户会被重定向到手机版本。我该如何解决这个问题?

您需要某种方式来传达用户已经被重定向过一次的事实。如果使用PHP,可以使用GET变量进行条件重定向。如果只使用Javascript,可以使用cookie。HTML5也支持某种类型的数据存储,但我不熟悉。

编辑:实际上,你可以在地址上添加一个GET变量,甚至不使用PHP。只需使用window.location.href获取地址,并查看变量是否仅使用Javascript设置。

评论里写得太多了,所以我把这个放在这里。链接应该改为:
<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>