JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでモバイルデバイス(Android/iOS)を検出する方法

JavaScriptでモバイルデバイス(AndroidやiOSなど)を検出するには、navigator.userAgentプロパティを利用するのが一般的な方法です。ブラウザが送信するユーザーエージェント文字列に、特定のデバイス名が含まれているかどうかを正規表現で判定します。

サンプルコード

var device = {
    Android: function() {
        return navigator.userAgent.match(/Android/i);
    },

    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad/i);
    },

    any: function() {
        return (this.Android() || this.iOS());
    }
};

コードの解説

  • Android():ユーザーエージェントに「Android」という文字列が含まれているかを、大文字・小文字を区別せずに判定します。
  • iOS():「iPhone」または「iPad」が含まれているかを判定します。
  • any():AndroidまたはiOSのいずれかに該当する場合にtrueを返します。モバイルデバイスかどうかをまとめて確認したい場合に便利です。

使用例

if (device.any()) {
    console.log("モバイルデバイスからのアクセスです");
} else {
    console.log("デスクトップ環境からのアクセスです");
}

注意点

ユーザーエージェントによる判定は手軽な反面、文字列の偽装(スプーフィング)を受ける可能性があり、新しいデバイスやOSに対応させるためには判定条件を随時更新する必要があります。より堅牢な切り分けを行いたい場合は、画面幅によるレスポンシブデザインや、window.matchMediaを活用した機能ベースの判定と組み合わせることをおすすめします。

  1. JavaScriptでテキストを切り替える(トグルする)方法を解説

    JavaScriptを使えば、ボタンをクリックするたびに表示されるテキストを切り替える(トグルする)処理を簡単に実装できます。ここでは、innerHTMLプロパティと条件分岐を組み合わせた、最も基本的なテキスト切り替えの方法をサンプルコード付きで解説します。実装コード例<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>  

  2. JavaScriptで画面解像度を検出する方法を解説!window.screenの使い方

    はじめにWebアプリケーションを開発する際、ユーザーの画面解像度(スクリーンサイズ)を検出したいケースは多くあります。例えば、レスポンシブデザインの調整や、表示領域に応じたコンテンツの出し分けなどが挙げられます。JavaScriptでは、window.screenオブジェクトを使うことで、簡単に画面の解像度情報を取得できます。この記事では、その具体的な方法をサンプルコードとともにわかりやすく解説します。window.screenオブジェクトとはwindow.screenは、ユーザーが使用しているディスプレイ(画面)に関する情報を保持しているオブジェクトです。このオブジェクトのプロパティを参照す