DevTools はプログラマーだけのものではない
あなたは「Developer Tools(DevTools)」を聞いたことがあり、それがプログラマー専用だと思い込んでいるかもしれません。しかし真相は、DevTools の多くの機能は プログラミングの知識がまったくなくても使える ということです。 こんなシーンを想像してください:- ウェブサイトを開いたらページが真っ白——サイトが落ちたのか、それともあなたのネットワークの問題か知りたい
- フォームに入力し、送信をクリックしたが何も起きない——ボタンが壊れたのか、それともサーバーに届かなかったのか知りたい
- ページに変なレイアウトがある——ブラウザの問題か、それともサイトのコードのバグか知りたい
ステップ1:DevTools の開き方
Chrome / Edge
3つの方法から、一番楽なものを選んでください:F12 または Ctrl + Shift + I(Mac:Cmd + Option + I)Firefox
F12 または Ctrl + Shift + ISafari
まず開発メニューを有効にします:Safari → 環境設定 → 詳細 → 「メニューバーに開発メニューを表示」にチェックCmd + Option + I覚えるべきは3つのタブだけ
DevTools には十数個のタブがありますが、非開発者が必要なのはこの3つだけです:| タブ | 役割 | 何に使えるか |
|---|---|---|
| Console | サイトのエラーと警告を表示 | サイトのコードがエラーを起こしたか判定 |
| Network | すべてのネットワークリクエストを表示 | 画像/API/リソースの読み込み失敗を判定 |
| Elements | ページのHTMLとCSSを表示 | 要素のスタイルと位置を検査 |
Console タブ:赤いエラーメッセージを読む
Console とは
Console はサイトの「ブラックボックス」です。サイトのコードでエラーが起きると、ブラウザはここに記録します。車の警告灯のようなものだと想像してください——エンジンの仕組みを理解する必要はないが、どのランプが点いたかは知る必要があります。赤=エラー、黄=警告
- 🔴 赤いメッセージ:エラーが発生、要注意
- 🟡 黄色いメッセージ:警告、問題の可能性はあるが致命的ではない
- 🔵 青/白いメッセージ:通常のログ、無視してよい
エラーメッセージの読み方
Console を開くと、こんな赤い文字が見えるかもしれません:
Uncaught TypeError: Cannot read properties of undefined (reading 'map')
at ProductList.jsx:47:18
英語に怖気づかないでください——分解してみましょう:
| 部分 | 意味 | 注目すべき点 |
|---|---|---|
TypeError |
型エラー | エラーの種類 |
Cannot read properties of undefined |
存在しないデータの読み取りを試みた | 問題の説明(そのまま訳せばよい) |
ProductList.jsx:47:18 |
失敗した場所:ファイル名47行目18列 | 開発者に直すべき場所を伝える |
よくあるエラー種類(訳付き)
| 英語のエラー | 日本語の意味 | 考えられる原因 |
|---|---|---|
TypeError |
型エラー | データ形式が不正;オブジェクトを期待したのに空が来た |
ReferenceError |
参照エラー | 存在しない変数や関数をコードが使った |
SyntaxError |
構文エラー | ブラウザが解析できないコード記述ミス |
RangeError |
範囲エラー | 値が許容範囲を超えた |
Network Error |
ネットワークエラー | リクエストがサーバーに届かなかった |
404 Not Found |
見つからない | 要求したリソースが存在しない |
500 Internal Server Error |
サーバー内部エラー | サーバーコードにバグがある |
Console で最もよくある5つの問題
1. 白紙ページ + TypeError ページが白紙で読み込まれ、Console に赤い TypeError。大抵は JavaScript のクラッシュで描画できなくなっています。 2. ある機能が反応しない + ReferenceError ボタンをクリックしても何も起きず、Console に赤い ReferenceError。大抵は関連コードが正しく読み込まれていません。 3. データが表示されない + TypeError: Cannot read properties of undefined リストや表の領域が空で、Console にこのエラー。大抵はバックエンドがフロントエンドの期待と異なる形式のデータを返しました。 4. ページの一部が空白 + 404エラー 一部の画像やコンポーネントが表示されず、Console に404。リソースのパスが誤っているかファイルが削除されました。 5. 読み込みが非常に遅い + 黄色い警告が多数 ページの読み込みが遅く、Console に黄色い警告が多数。不必要なリソースを読み込みすぎか、パフォーマンスの問題の可能性があります。Network タブ:失敗したリソースの発見
Network とは
Network タブは、ページの読み込み時に発行されるすべてのネットワークリクエスト——画像、CSS、JavaScript、APIエンドポイント、フォントファイル、サーバーから取得する一切のリソース——を記録します。使い方
F5)色分け
| 色 | 意味 |
|---|---|
| 赤 | リクエスト失敗(4xx/5xxエラー) |
| 灰 | リクエストがブロックまたはキャンセルされた |
| その他の色 | リクエスト成功 |
注目:ステータスコード
各リクエストにはステータスコードがあり、問題を直接示す手がかりです:| ステータス | 意味 | 見られる現象 |
|---|---|---|
| 200 | 成功 | すべて正常 |
| 301/302 | リダイレクト | 別のアドレスに飛ばされた |
| 400 | 不正なリクエスト | フォームデータの形式が不正 |
| 401 | 未認証 | ログイン必要だが未ログイン |
| 403 | 禁止 | このリソースへの権限がない |
| 404 | 見つからない | 画像/ページ/APIが存在しない |
| 429 | リクエスト過多 | 制限され、後ほど再試行を |
| 500 | サーバー内部エラー | サーバーコードにバグがある |
| 502 | ゲートウェイ不正 | サーバー過負荷またはメンテナンス中 |
| 503 | サービス利用不可 | サーバーが一時的にリクエスト処理不可 |
実践:Network で「画像が読み込まれない」を診断
Img をクリック(画像のみ)- 404 → 画像パス誤りまたは画像削除
- 500 → 画像リクエスト処理中にサーバーがエラー
- 対応するリクエストなし → 画像URLがそもそも要求されていない(フロントエンドコードの問題の可能性)
実践:Network で「フォーム送信が無反応」を診断
Elements タブ:要素のスタイルを検査
Elements とは
Elements タブはページのHTML構造とCSSスタイルを表示します。要素の属性・スタイル・位置を検査するのに使えます。最も便利な機能:要素を検証
非開発者にできること
画像が正しく表示されない理由を確認:<img>タグを見つける
src属性を確認——画像URLは正しいか?
widthとheightを確認——寸法が制約されているか?
- テキスト要素を見つける
- CSS の
overflowプロパティを確認——hiddenに設定されているか?
white-spaceとtext-overflowを確認——改行が制限されていないか?
- ボタン要素を見つける
- CSS の
z-indexを確認——他の要素に覆われていないか?
pointer-eventsを確認——クリックが無効化されていないか?
displayとvisibilityを確認——非表示になっていないか?
注意:Elements での編集は一時的
Elements タブで変更したスタイルは、ページの再読み込み後に元に戻ります。これはデバッグ専用で、サイトを実際に変更するものではありません。安心して試してください——何も壊せません。5つの実例
ケース1:白紙ページ
症状:サイトを開くとページが真っ白 診断手順:TypeError を確認ケース2:画像が壊れたアイコンとして表示
症状:ページ上の画像が壊れたアイコンまたは空白領域として表示 診断手順:src 属性のURLを確認ケース3:フォーム送信後無反応
症状:フォーム入力後、送信をクリックしてもページに反応なし 診断手順:ReferenceError: submitForm is not defined を確認ケース4:ページの読み込みが非常に遅い
症状:ページを開くのに10秒以上かかる 診断手順:ケース5:モバイル布局が崩れる
症状:スマホでサイトを開くとボタンとテキストが重なる 診断手順:Ctrl + Shift + M を押してデバイスエミュレーション mode へ切り替え@media 規則を確認——モバイル対応が欠けていると判明もっと簡単な方法はあるか?
DevTools を開き、Console を探し、Network を見つけ、エラーメッセージをコピーするのがまだ面倒なら——もっと簡単な方法があります。 BugCapturer がこれらをすべて自動でやってくれます。 BugCapturer でスクリーンショットを撮ってフィードバックを送信すると、自動的に収集します:- コンソールエラー:最大10件の error レベルログ(ファイル名と行番号付き)
- 失敗したネットワークリクエスト:最大5件のステータス ≥ 400 のリクエスト(URL、メソッド、ステータスコード付き)
- 技術環境情報:URL、ブラウザ、OS、画面解像度、ビューポート寸法、DPR