我有一个使用设备检测的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上的主页模板上,用户被重定向回到移动版。我该如何解决这个问题?
答案 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>