0

JS 用のこのモバイル userAgent テストがありますが、それを適切にネストしてテストを拡張する方法がよくわかりません。

基本的に、モバイルかデスクトップかをテストします。次に、モバイルの場合は、どのモバイルを確認して何かを実行したいと考えています。

<script type="text/javascript">
  if( /Android|iPhone|iPod|iPad|BlackBerry|Windows Phone/i.test(navigator.userAgent) ) {
    if ( /Android/i.test(navigator.userAgent) ) {
        var url = window.location.href = 'http://www.google.com';
        url.show(); 
    }
    elseif 
    if ( /iPhone/i.test(navigator.userAgent) ) {
        var url = window.location.href = 'http://www.bing.com';
        url.show(); 
    }
  }
    else
  {

  }
</script>

上記が間違っていることは知っていますが、うまくいかなかった限りです。

4

2 に答える 2

0

繰り返すのではなく、次のようにすることもできます。

if( /big regex here/i.test(navigator.userAgent)) {
    var agents = {
        "Android":"http://google.com/",
        "iPhone":"http://bing.com/"
    }, i, url;
    for( i in agents) {
        if( new Regexp(i,"i").test(navigator.userAgent)) {
            url = window.location.href = agents[i];
            url.show();
            break;
        }
    }
}
于 2013-01-07T18:00:34.610 に答える
0

ここ

<script type="text/javascript">
  var url="notmobile.html";
  if( /Android|iPhone|iPod|iPad|BlackBerry|Windows Phone/i.test(navigator.userAgent) ) {
    if ( /Android/i.test(navigator.userAgent) ) {
        url = 'http://www.google.com';
    }
    else if ( /iPhone/i.test(navigator.userAgent) ) {
        url = 'http://www.bing.com';
    }
//   url.show(); // some special mobile meaning? - never seen that syntax
    location=url; // this is how I would do it
  }
  else { // not mobile
    // this can be moved out side the ifs with the above location change too
    location = url;
  }
</script>
于 2013-01-07T18:00:37.020 に答える