初めまして。Qiita初投稿です。
今回はOSやユーザーエージェントに頼らずに端末がモバイルかどうかを調べる方法を見つけたので、解説していきたいと思います。
はじめに
皆さんはスマートフォンなどのモバイル向けのサイトを作ったことはありますか?
なんとMarketing Research Campが、2016年12月に行った調査によるとスマートフォンの利用率が72.0%でノートPC(57.8%)を超えているそうです。
ですが、まだまだパソコンからの利用があるというのも事実です。
そこで必要になってくるのがモバイル、PCの振り分けです。
ですがユーザーエージェントなどで振り分けるとどうしてもマイナーなブラウザには対応できなかったりしてしまいます。
本題のコード
そこで今回は発想を変えてこんなコードを使ってみました。
window.orientation
このコードはもともと画面の回転の向きを取得するコードです。
ですが実はこのコード、ノートPCなどから実行するとundefinedが返ってきます。
このことを利用してモバイルかどうかを判定します。
注:Android2.2以前ではサポートされていません。
型判定にはtypeof
を使用します。
if((typeof window.orientation)=="undefined"){
alert("モバイル端末じゃないよ");
}else{
alert("モバイル端末だよ");
}
こんなに簡潔に書くことができます。
まとめ
(typeof window.orientation)=="undefined"
がtrueの時はPCなどで、falseの時はモバイル端末です。
どんどんご利用いただければ嬉しいです。