とあるプロダーツプレイヤーの徒然日記

とあるプロダーツプレイヤーが徒然なるままによしなし事をそこはかとなく書きつくろいます

JavaScriptでデバイス判定する

概要

どうしてもJavascriptでデバイス判定しないと行けない時って有りますよね。 実際、MSDNとしては非推奨との噂を聞いたことがあるのですが、 どーしてもやりたかったので調べた備忘録として。

端的に

2015年版JavaScriptユーザエージェント判別・判定

この記事に書いてある通り。 素晴らしい。

これを埋め込み

var _ua = (function(u){
  return {
    Tablet:(u.indexOf("windows") != -1 && u.indexOf("touch") != -1 && u.indexOf("tablet pc") == -1) 
      || u.indexOf("ipad") != -1
      || (u.indexOf("android") != -1 && u.indexOf("mobile") == -1)
      || (u.indexOf("firefox") != -1 && u.indexOf("tablet") != -1)
      || u.indexOf("kindle") != -1
      || u.indexOf("silk") != -1
      || u.indexOf("playbook") != -1,
    Mobile:(u.indexOf("windows") != -1 && u.indexOf("phone") != -1)
      || u.indexOf("iphone") != -1
      || u.indexOf("ipod") != -1
      || (u.indexOf("android") != -1 && u.indexOf("mobile") != -1)
      || (u.indexOf("firefox") != -1 && u.indexOf("mobile") != -1)
      || u.indexOf("blackberry") != -1
  }
})(window.navigator.userAgent.toLowerCase());

これで使うだけ。 ね、簡単でしょ?

if(_ua.Mobile){
//この中のコードはスマホにのみ適用
}else if(_ua.Tablet){
//この中のコードはタブレットにのみ適用
}else{
//この中のコードはスマホとタブレット以外に適用
}