【JavaScript】ユーザーエージェントを判別して処理を分岐する

javascript

今回、PC用のサイトを作成していたんですがiphoneとipadでも見栄えを変える必要があったのでユーザーエージェントを調べる必要がありました。

ただ今回はiphoneとipad用とPCでjqueryでaddClassさせるかさせないかの違いだけだったので簡易的に判別しています。

userAgentで調べる

ま、そのまんまです。navigatorオブジェクトのuserAgentで下記のように調べることができる。

var t=navigator.userAgent;
	alert(t);

indexOfメソッドで調べる

ユーザーエージェントを調べて「indexOf」メソッドで検索対象文字列が含まれている場合とそうでない場合で分岐する

$(document).ready(
//------ブラウザでgoogleChromeを使用しているがどうかを調べる
function(){
 if(navigator.userAgent.indexOf('iphone') != -1){
   alert("使っているブラウザはiphoneです");
 }else if(navigator.userAgent.indexOf('iPad') != -1){{
     alert("使っているブラウザはiPadです");
 }else{
    alert("使っているのはPCですか?");
  }
//------
);

「indexOf」メソッドは検索対象文字列があった場合は検索対象文字列の開始位置をの番号を返す。もし検索対象文字列が見つからなかった場合は「-1」を返す

参考サイト
徒然「ブラウザをJavaScriptで判別して対処したときの備忘録」