0

デバイス検出を使用して、モバイル デバイスで閲覧しているユーザーを次のように特定のページにリダイレクトする Wordpress Web サイトがあります。

<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 のホームページ テンプレートにあります。開始 body タグの直後。検出とリダイレクトはうまく機能しますが、そのモバイル ページに Web サイトのデスクトップ バージョンに戻るリンクを提供する必要があります。簡単なリンクです:

<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.hrefJavascript のみを使用して変数が設定されているかどうかを確認します。

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 に答える