| この記事の要点 |
|
この記事のゴール
Mac の Safari で「自分が別のブラウザ(Chrome や旧 IE など)であるかのように振る舞わせる」方法を解説します。これは厳密にはユーザーエージェント (User Agent, UA) の切り替えと呼ばれる機能で、Web 制作・動作確認・ブラウザ判定を回避したいときに重宝します。
ユーザーエージェントとは
ブラウザは Web サーバーにリクエストを送るとき、HTTP ヘッダの User-Agent フィールドで「自分が何者か」を名乗ります。サーバーはこれを見て「PC 用 HTML を返すか、モバイル用を返すか」「Internet Explorer なら警告を出すか」などの分岐をします。
Safari の UA を Chrome のものに偽装すれば、サーバー側からは Chrome に見え、Chrome 向けのページが返ってくる、という仕組みです。
手順
STEP1 開発メニューを表示する
- Safari を起動する。
- メニューバーの 「Safari」 > 「設定」(macOS Monterey 以前は「環境設定」)を開く。
- 「詳細」 タブを開く。
- 一番下にある 「Web デベロッパ用の機能を表示」 または 「メニューバーに "開発" メニューを表示」 にチェックを入れる。
メニューバーに 「開発」 メニューが追加されれば成功です。
STEP2 ユーザーエージェントを切り替える
- メニューバーの 「開発」 をクリック。
- 「ユーザーエージェント」 を選択。
- 切り替えたいブラウザを選ぶ。
切り替え後はそのタブで自動的にページが再読み込みされ、選んだブラウザのフリをした状態でアクセスし直されます。
STEP3 元に戻す
同じく 「開発」 > 「ユーザーエージェント」 > 「デフォルト (Safari)」 を選ぶと元に戻ります。
選べる主な UA
| UA 種別 | 用途 |
|---|---|
| Safari (デフォルト) | 通常モード |
| Microsoft Edge | Edge 専用機能を試す / Edge 向け表示を確認 |
| Google Chrome — Mac / Windows | Chrome 限定機能・Chrome 向けレイアウトの確認 |
| Firefox — Mac / Windows | Firefox 向け表示の確認 |
| Microsoft Internet Explorer 11.0 | 旧 IE しか対応していないレガシーサイトの突破 |
| Safari — iOS / iPad / iPhone | モバイル版レイアウトの確認 |
| その他... | カスタム UA 文字列を手動入力 |
注意点
- あくまで自己申告の偽装。サーバーが UA だけで分岐していれば騙せますが、JS のフィーチャー検出(
navigator.userAgentData、特定 API の有無)には騙されません。 - タブ単位の設定。新しいタブを開くとデフォルトの Safari に戻ります。
- Web サイトのコンテンツを表示しない / 違反する目的での UA 偽装は規約違反になり得ます。動作確認・開発以外の用途は控えること。
ブラウザを「切り替える」のもう一つの解釈 — デフォルト Web ブラウザ変更
「メールのリンクをクリックしたときに開くブラウザを変えたい」という意味なら、UA 切り替えではなくデフォルト Web ブラウザの変更です。手順は次の通り。
- 「システム設定」 > 「デスクトップとDock」 を開く。
- 下の方にある 「デフォルトの Web ブラウザ」 から好きなブラウザを選ぶ。
よくある質問
Q: 開発メニューが英語で「Develop」と表示される
A: Safari の言語設定が英語になっています。同じ位置にある「Develop」 > 「User Agent」で同じ操作ができます。
Q: Chrome に偽装したのに Chrome 専用ページが表示されない
A: サーバーが navigator.userAgent 以外(フィーチャー検出、特定 API の有無)で判定している可能性大。Safari の UA 偽装では突破できません。
子ページはありません
- スクリーンショットの撮り方
- 便利ショートカット一覧
- ブラウザの種類を切り替える方法
- バージョンの確認
- ローカルのapache起動/停止/再起動
- 印刷関連
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38