簡體   English   中英

將移動用戶重定向到桌面版本

[英]Redirecting a mobile user to a desktop version

我有一個使用設備檢測功能的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的主頁模板上,因此用戶將被重定向回移動版本。 我怎樣才能解決這個問題?

您需要某種方式來傳達用戶已經被重定向一次的事實。 如果您使用的是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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM