10

マッピング リンクが以前のようにマップ アプリを開くように、ユーザーが iOS 6 を使用しているか、それ以外 (iOS 4、5、Android など) を使用しているかに応じて、異なるリンクを提示したいと考えています。

次のようなもの: -- iOS 6.0 以降の場合は、http://maps.apple.com? q= "住所" を表示します。それ以外の場合は、http://maps.google.com?q = "住所" を表示します。

:Webリンクを介するのではなく、マップアプリを直接呼び出すこともできますが(現在は手元にありません)、Androidまたはそれ以下のiOSの誰かが使用できないため、問題は解決しません。それ。

4

4 に答える 4

16

文字列を使用して iOS のバージョンを検出できnavigator.userAgentます。何かのようなもの:

if(/(iPhone|iPad|iPod)\sOS\s6/.test(navigator.userAgent)) {
    // use apple maps
}

これは決して将来の証明ではないことに注意してください。ユーザー エージェント文字列は変更される可能性があり、OS も変更される可能性があります。また、ブラウザ経由の Google マップは、iOS 6 を含むすべてのプラットフォームで利用できます。

于 2012-11-08T00:05:23.357 に答える
6

iOS と Android OS のバージョンを判別するための JS のコードを次に示します。jQuery は必要ありません。

iOS 4.3 から 6.0.1 および Android 2.3.4 から 4.2 の実際のユーザー エージェント文字列でテスト済み

var userOS;    // will either be iOS, Android or unknown
var userOSver; // this is a string, use Number(userOSver) to convert

function getOS( )
{
  var ua = navigator.userAgent;
  var uaindex;

  // determine OS
  if ( ua.match(/iPad/i) || ua.match(/iPod/i) || ua.match(/iPhone/i) )
  {
    userOS = 'iOS';
    uaindex = ua.indexOf( 'OS ' );
  }
  else if ( ua.match(/Android/i) )
  {
    userOS = 'Android';
    uaindex = ua.indexOf( 'Android ' );
  }
  else
  {
    userOS = 'unknown';
  }

  // determine version
  if ( userOS === 'iOS'  &&  uaindex > -1 )
  {
    userOSver = ua.substr( uaindex + 3, 3 ).replace( '_', '.' );
  }
  else if ( userOS === 'Android'  &&  uaindex > -1 )
  {
    userOSver = ua.substr( uaindex + 8, 3 );
  }
  else
  {
    userOSver = 'unknown';
  }
}

次に、特定のバージョン以降を検出するには、次を試してください。

if ( userOS === 'iOS' && Number( userOSver.charAt(0) ) >= 5 ) { ... }
于 2012-11-25T08:08:30.937 に答える
2

ユーザーエージェント文字列を調べたいとします。Safari Web ブラウザーには、使用されているデバイス (iPad、iPhone など) とバージョン番号を報告する方法があるため、そのコンパクトな小さな文字列の情報の indexOf の問題です。

http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3

その他の役立つ/非常に関連する Stackoverflow の質問:

JavaScript で iOS バージョン 5 未満を検出する

Web ページで iOS のバージョンを検出する

PHP または Javascript で iOS のバージョンが 3.0 以上であることを確認する

于 2012-11-08T00:05:08.133 に答える
1

JavaScript を使用して、ユーザー エージェント ヘッダーを調べます。

navigator.userAgent
于 2012-11-08T00:06:47.007 に答える