コーディング Web制作 JavaScript

iPadを判別するユーザーエージェント【iOS13以降対応】

iPadを判別するユーザーエージェント【iOS13以降対応】
iPadのみ適用したい処理があるんだけどどうしたらいい?

今回はそんな疑問にお答えしていきます。

画面幅によって処理を変えるのはレスポンシブ対応が出来れば簡単ですが、同じ画面幅でもiPadでは処理を変えたいという事があるかも知れません。

今回はその方法をご紹介します。

効率よくコーディングしたい人はこちら

iPadを判別するユーザーエージェント【iOS13以降対応】

まずはこちらも見て下さい。

See the Pen
by junpei (@junpei-sugiyama)
on CodePen.


パソコンやスマホで見ている方は「これはiPad以外です」と表示されていると思います。

そしてiPadで見ている人は「これはiPadです」と 赤字で表示されていると思います。

 

コード解説

それではコードを見てみます。

まずはhtmlとcssです。

<div class="container">
  <p class="ipad">これはiPadです</p>
  <p class="no-ipad">これはiPad以外です</p>
</div>
.container {
  margin-top: 50px;
}
p {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
}
.ipad {
  display: none;
}

ここで見るべきところは、cssの最後です。

これはiPadで表示されるテキストを通常非表示としています。

そして重要なのはjsになります。

// iPad判別
var ua = window.navigator.userAgent.toLowerCase();
if (
  ua.indexOf("ipad") > -1 ||
  (ua.indexOf("macintosh") > -1 && "ontouchend" in document)
) {
  // iPadでの処理
  $(".ipad").css("display", "block");
  $(".ipad").css("color", "red");
  $(".no-ipad").css("display", "none");
}

最後の3行でiPadでの処理を書いています。

  • 1行目:class名「iPad」を表示させる
  • 2行目:class名「iPad」のフォントを赤色にする
  • 3行目:class名「no-ipad」を非表示にする

となります。

今回はcssのプロパティを変更しただけですが、classの付け替えなど色んな処理が出来ます(ここではiPadでの処理の部分はjQueryを使用しているので、jQuery本体の読み込みを忘れないようにして下さい)

以上です。

あまり使う機会はないかも知れませんが、実際実務でも使った事があるので覚えておいて損はないかと思います。

 


コーディング案件の単価と作業効率を上げる!

Brainランキング1位獲得 & 3日で500部突破

クチコミ約300件
(平均スコア

今だけ!5つの無料特典あり🎁

👇画像をクリック

  • この記事を書いた人

じゅんぺい

タイ・バンコク在住のWeb制作フリーランス兼ブロガー▶︎37歳からWeb制作を開始▶︎コーディングとWordPressのオリジナルテーマ制作でこれまで80件以上納品▶︎Web制作中心の当ブログは月7万PV▶︎コーディングとWordPressのコンテンツを販売し、3日で500部突破&250万円&人気1位獲得。

-コーディング, Web制作, JavaScript
-