2011-11-08 17 views
0

jQueryモバイルを使用した単純なWebアプリケーションで作業しており、iPhone用に特別に設計されています。 iOSデバイスを使用していないユーザーを別のページにリダイレクトする方法を探しています。IOS以外のユーザーをWebアプリケーション内の別のページにリダイレクトする方法

最近の解決方法は見つかりません。私が得た最も近いものはthisでしたが、スクリプトは私のiPhone上で動作しませんでした。それは私がどのデバイスを使用していたかに関係なく私をリダイレクトしました。

私のニーズに合った解決策がありますか?

答えて

0

このページのスクリプトは、iPhoneとiPodのユーザーを別のサイトにリダイレクトすることに注意してください。それ以外のiPhone/iPodユーザーは別のサイトにリダイレクトされません。それが問題だった場合は、単に次のようにjavascriptのコードを変更:

if (!(navigator.userAgent.match(/iPhone/i)) && !(navigator.userAgent.match(/iPod/i))) { 
    location.replace("http://notiphoneoripod.yourdomain.com"); 
} 

あなたは、同様のiPadをリダイレクトする代わりに、以下の変更を使用する必要がある場合:

また
if (!(navigator.userAgent.match(/iPhone/i)) && !(navigator.userAgent.match(/iPod/i)) && !(navigator.userAgent.match(/iPad/i))) { 
    location.replace("http://notiphoneoripodoripad.yourdomain.com"); 
} 

を、あなたが使用している場合PHPなどのサーバー側プログラミング言語では、クライアント側のコードではなくリダイレ​​クトを行う必要があります。 PHPで$ _SERVER ['HTTP_USER_AGENT']を使って確認できます。

それとも、Apacheを使用している場合、サーバー上で直接それをしたい場合は、.htaccessファイルに以下を追加することができます。これを行うには

RewriteCond %{HTTP_USER_AGENT} !^.*iPhone.*$ 
RewriteRule ^(.*)$ http://notiphone.yourdomain.com [R=301] 
0

2つの方法 -

  1. デバイス上でリダイレクトを実行します。すなわち、クライアントは、ヒットするための論理を有する。それはあなたが上で言及しているものです。
  2. 最高のことは、Webサーバーでサーバー側で行うことです。 Webサーバー(apache & nginxのような)はこれに最適です。あなたのクライアントデバイスからURLを打つ前に、XX-DEVICE-HEADER:IPODなどのようなヘッダをつけてから、webserverでこのヘッダ&を適切にリダイレクトしてください。
関連する問題