0

我有一个 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 的主页模板上,所以用户会被重定向回移动版本。我怎样才能解决这个问题?

4

1 回答 1

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>
于 2013-03-04T18:49:10.527 回答