画面幅によって処理を変えるのはレスポンシブ対応が出来れば簡単ですが、同じ画面幅でもiPadでは処理を変えたいという事があるかも知れません。
今回はその方法をご紹介します。
(有料になっていたらすいません🙇♂️)
iPadを判定するuserAgent(ユーザーエージェント)の書き方【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本体の読み込みを忘れないようにして下さい)
jQueryを使ったことがない人はこちらの記事を参照下さい。
【初心者向け】jQueryとは?CDNを使った本体の読み込み方も分かりやすく解説
続きを見る
まとめ
今回はJavaScriptでiPadを判定するuserAgentの書き方を解説しました。
あまり使う機会はないかも知れませんが、実際に実務で使った事があるので覚えておいて損はないかと思います。
以上になります。