WEBサイト・SEO

JavaScriptエラーの調べ方|Consoleの見方と、動かない原因を絞る手順

AIによる架空のJavaScriptエラー調査の場面。Web担当が料金を見る操作の資料と同じ時点の記録を見比べ、原因は未確認としている。

WEBサイト・SEO · JavaScriptエラーの調べ方

ボタンが動かないときは、押した操作・期待した結果・実際の画面と、同じ時点のConsoleの記録を並べます。エラー名だけで原因を決めず、関連ファイルや通信、実行条件を調べ、修正後も同じ操作で結果を確かめます。

会社サイトの更新後、英語のエラーが出て、何を調べ制作担当へ伝えるか迷うWeb担当へ。JavaScriptは、ボタンを押した後の処理などを動かすプログラムです。Consoleは、ブラウザーが出すメッセージを読む開発者向けの確認画面です。

この記事では、条件をそろえる、記録の見え方を確かめる、エラーを読む、関連箇所を調べる、修正後を確認する順に説明します。別々の架空会社の例を使い、分かったことと未確認を分けて残します。

実サイトの原因や修正完了を示す記録ではありません。料金ページでTypeErrorの行が見える例と、別の事例一覧でError表示0件の例は、修正前後ではありません。

AIによる架空のJavaScriptエラー調査の場面。Web担当が料金を見る操作の資料と同じ時点の記録を見比べ、原因は未確認としている。
AIで制作した架空の調査場面です。実サイトの画面、エラー記録や修正結果を示しません。
原寸画像を開く

動かない操作と、確かめる条件をそろえる

最初に「どのページの、どの操作で、何が起きなかったか」を一つ決めます。画面の症状と記録が同じ場面かを確かめるためです。

期待する結果と、実際に見えた結果を書く

たとえば架空の料金ページで「料金を見る」を押し、料金の説明へ進むことを期待したのに、表示が変わらなかった場面です。「壊れている」だけでなく、押した場所と、期待した移動先・実際の表示を分けます。ボタンが選べないのか、押せたのに画面が変わらないのかも別の観察です。

対象URL、更新した版や日時、ブラウザーと端末、ログイン状態、問題に至る操作をそろえます。読み込み直後に出るもの、押した後に出るもの、別ページへ移動した後に出るものは分けてください。未確認の条件は、推測せず未確認のまま担当と合わせます。

同じ場面を再現するとき

業務中の未保存入力は先に保全し、実予約・決済・顧客への送信を調査の練習にしません。入力や送信が必要なら、許可された確認環境と試験用の宛先・データを担当者と決めてから行います。

一回の報告で、どこまで分かったかを残す

「料金を見るを押したが表示が変わらず、その操作時点にTypeErrorの行が見える」というところまでが、この例の手掛かりです。正確なメッセージ、ファイル、行、関連通信、原因と修正結果は未確認です。画面と記録が同時に起きたことだけで、因果関係まで確定しません。

Consoleを開き、見えている記録の範囲を確かめる

Consoleの表示は、対象ページ・記録した時点・フィルターによって変わります。空に見えることと、問題がないことは別です。

Chromeでは、対象ページからConsoleを開く

Chromeの対象ページで開発者ツールを開き、Consoleを選びます。Consoleを直接開くショートカットは、Windows等ではControl+Shift+J、MacではCommand+Option+Jです。画面やキーの扱いは利用環境で確かめてください。記事を読むためにコードを入力する必要はありません。

開いたページとURLを確認したうえで、対象の操作とメッセージの発生時点を合わせます。既に出ていた古い行や、別のフレーム・拡張機能に関係する行を、押したボタンの原因へまとめないでください。

レベル・文字列・URL・対象を確認する

ChromeのConsoleは、Error、Warning、Info、Verbose等のレベルや、文字列・URL・対象の文脈で表示を絞れます。Errorだけを見ているのか、入力したフィルターが残っているのか、必要な対象を見ているかを確認します。絞った範囲で0件でも、別レベルや別の対象の記録まで確認したことにはなりません。

架空の別会社の事例一覧では、一覧が表示されず、Errorだけの表示が0件という条件です。正確なメッセージや別対象のエラー、通信、原因、修正結果は未確認です。これは料金ページの修正後でも、JavaScript正常の証明でもありません。

遷移前後の記録を混ぜない

Chromeでは通常、新しいページの読み込みでConsoleの記録が消えます。ページ移動の前後も追う必要があるときはPreserve logの扱いを確認します。記録を残すと前のページの行も見えるため、どの操作・ページの記録かを併記します。ログを消したことを、エラーを直した結果にはしません。

開き方と表示範囲はChrome公式のConsole機能リファレンスを参照。仕様の説明と、自社サイトの観測は別です。

エラー名・メッセージ・ファイルの位置を分けて読む

エラー名は問題の種類、メッセージは起きた内容、ファイルと行は調べる入口です。入口の位置が、そのまま本当の原因の場所とは限りません。

押したのに変わらないとき、画面の結果と、どの時点の記録を並べればよいでしょうか。

AIによる架空の調査例。料金を見るを押しても表示が変わらない画面と、同じ操作時点にTypeErrorの行が見える設定例を並べる。原因は未確認。
AIによる説明用の図です。TypeErrorは調査の手掛かりで、実際の原因・修正・再確認・公開結果は未確認です。
原寸画像を開く

表示が変わらないことと、同時点にTypeErrorの行が見えることを分けて残します。メッセージ全文や関連ファイルを調べる前に、原因や修正完了へ飛ばないためです。

正式な名前を、短い意味と組にする

SyntaxError
コードを解釈する際、言語の構文に合わない書き方が見つかった種類です。
ReferenceError
その場所で存在しない、またはまだ初期化されていない変数などを参照した種類です。
TypeError
値や型に合わない操作など、適切でない方法で値を扱った場合の種類です。すべてを構文の書き間違いとは呼びません。

種類が同じでも、起点はさまざまです。名前だけを検索して見つけた修正を、そのまま公開サイトへ当てはめないでください。メッセージの文言はブラウザーや版で異なる場合もあるため、実際に表示された全文を、必要な範囲で正確に残します。

ファイル・行・呼出し履歴を、公開版と照合する

Consoleのファイルと行のリンクから、関連コードを確認できます。呼出し履歴は、そこへ至る関数呼出しの流れです。開発担当は、表示された位置、実際の配信ファイル、公開版、必要に応じて元のコードとの対応を照合します。圧縮されたファイルや対応表の違いがあるため、別版の同じ行番号へ機械的に修正を入れません。

料金ページの例には、正確なメッセージやファイル・行の値がありません。説明用にそれらを作り足さず、次に取得する手掛かりとして扱います。別の一覧ページも、0件表示だけから原因や修正を補いません。

二つの架空例の条件と未確認を読む

二つは別の架空会社・別の問題です。修正前後の比較ではありません。

架空の会社サイトの料金ページ

記録の区別
料金ページの記録
対象ページ
架空の会社サイトの料金ページ
行った操作
「料金を見る」を押す
期待する結果
料金の説明へ進む
画面の結果
表示が変わらない
Consoleの見え方
同じ操作時点にTypeErrorの行が見える設定例
正確なメッセージ全文
未確認
関連ファイル
未確認
ファイルの行
未確認
関連する通信の結果
未確認
実際の原因
未確認
適用した修正
未確認
再確認の結果
未確認
公開先の結果
未確認

別の架空会社サイトの事例一覧ページ

記録の区別
事例一覧の記録
対象ページ
別の架空会社サイトの事例一覧ページ
行った操作
ページを開き、事例一覧を見る
期待する結果
事例一覧が表示される
画面の結果
一覧が表示されない
Consoleの見え方
Errorだけを表示するフィルターでは0件の設定例
正確なメッセージ全文
未確認
別レベル・別の対象のエラー
未確認
関連する通信の結果
未確認
実際の原因
未確認
適用した修正
未確認
再確認の結果
未確認
公開先の結果
未確認

TypeErrorの行は手掛かりです。Errorだけの表示で0件でも、別レベル・別の対象や通信の結果は未確認です。原因・修正・再確認・公開結果を推測で埋めません。

種類の意味はMDNのTypeError、ReferenceError、SyntaxErrorを参照。自社の原因を確定する資料ではありません。

関連するコードと通信から、原因候補を絞る

エラーの入口に関係するファイル・通信・実行時の値を調べ、仮説を確かめます。症状だけで全体の設定を変えません。

読み込みに関係するなら、同じ資材の通信を見る

必要なスクリプトやデータが届かない手掛かりがあれば、開発担当はNetworkでそのURL、要求と応答、返った内容を確認します。同じファイル名やHTTP 200だけでは、期待するJavaScriptやデータを取得したことまで確定しません。表示された画面の版と、その資材の実内容も合わせます。

HTTPSページでHTTP参照が処理された場合など、該当する記録があるときは混在コンテンツの確認方法へ進めます。CORSや古い保存なども、関連する根拠を調べる候補です。「ボタンが動かない」だけを特定原因の証拠にはしません。

値や要素に関係するなら、動いた時点のコードを調べる

開発担当は、許可された確認環境で、関連するコードと現物の値を照合します。Sourcesの一時停止を使う場合は、処理の途中で止め、その時点の値や呼出しの流れを確認します。対象の要素があるか、必要な準備より先に処理したのか等を、実際の状態から調べます。

後続のエラーが最初の問題から続いていることも、別の問題であることもあります。起きた順序と操作を残し、仮説と確認済みを分けます。エラーを捕まえて表示しなくしただけで、利用者の用事が完了するとは限りません。

変更する前に対象を絞る

全プラグイン停止や全キャッシュ消去を初手にせず、関係する資材・コード・担当を確認します。知らないコードをConsoleへ貼り付けたり、貼付を止める警告を回避したりはしません。

Chromeのデバッグ解説は、再現する操作と値の確認を組にしています。ブラウザー内だけで動かした修正は、全利用者へ配信した修正とは別です。

同条件で修正後を確かめ、継続監視とは分ける

修正した版で、同じ操作の画面結果と記録を再び確認します。一端末の試験と、継続して訪問者の問題を集める範囲は別に決めます。

エラーの表示だけでなく、期待した用事を確かめる

  1. 対象と版を合わせる。修正を適用したURLと版、ブラウザー・端末・ログイン状態を残します。
  2. 同じ操作を行う。最初の問題に至った順序を再現し、期待した表示や動きと実際を比べます。
  3. 記録を読み直す。フィルターと対象、時点を合わせ、同じエラーや別の問題が残っていないか確認します。
  4. 影響する操作も確認する。関連する重要な経路を許可された範囲で試し、未確認の条件は残します。

Consoleに例外が出なくても、表示する値や移動先が意図と違う場合があります。逆に、別の記録が見えても、対象の操作との関係は追加確認が必要です。画面結果・記録・条件を組にし、一回の成功を全訪問者の正常へ広げません。更新後の広い確認範囲は、更新前後の動作確認も参照できます。

継続監視では、集める範囲と対応先を決める

ときどきしか起きない問題は、発生ページ、公開版、ブラウザー等の環境、操作や発生時点、メッセージの種類を継続して関連付ける必要があります。会社が認めた方法で何を集められるかを決め、同じ問題をまとめて、影響する用事と担当への通知・調査・再確認につなげます。

単発のConsole点検を、全訪問者の記録を集めた証拠にはしません。監視の導入状況や収集できた範囲が不明なら、件数や発生率を作らず未確認と残します。URL内の識別子、入力値、顧客・決済情報をそのまま共有せず、必要な調査情報と共有範囲を担当者が確認してください。

担当へ伝える具体例

「対象ページのこの版で、料金を見るを押したが表示が変わらない。同じ操作時点にTypeErrorの行が見える。メッセージ全文・ファイル位置・通信結果は未確認」と、観察と不足を分けて伝えます。原因、適用修正、同条件の再確認、公開先の結果は別欄として確認します。

まとめ:一つの操作と同じ時点の記録から始める

動かない操作を一つ決め、画面の結果と同時点のConsoleを対応させます。種類・メッセージ・ファイル位置・関連通信と現物の値から調べ、修正後の結果は同じ条件で確かめます。

最初の一歩

困っているページのURLと版、押した場所、期待した結果、実際の見え方を残してください。次に、その操作を確かめてよい環境でConsoleの対象と表示範囲を合わせ、同じ時点の記録を制作担当と読みます。

TypeErrorの行が見えることは原因確定ではなく、Errorの表示が0件であることは正常の証明ではありません。未確認のメッセージ・原因・修正・再確認・公開結果を埋めず、次に調べる箇所と担当を具体的に決めましょう。

出典と、架空例の範囲

ConsoleとSourcesの操作はChrome公式、エラーの種類はMDNの正式リファレンスを参照しています。入門資料のJavaScriptのトラブルシューティングは、報告されるエラーと意図に合わない結果の違いを理解する補助です。例の分類・行番号をそのまま自社の診断へ当てはめません。

本文の料金ページと事例一覧は別の架空会社です。実サイトのログ、修正試験、予約・決済・送信結果や、監視導入・全利用者の正常を示していません。

仕事の流れから、顧客との接点まで。
一体で見直す、最初の一歩を。

AI・DXとマーケティングを一体で相談

KEEP EXPLORING

次のヒントを、もうひとつ。

すべての記事を見る

LET’S CONNECT THE DOTS.

次の一歩を、
一緒につくる。

業務も、AIも、集客も。
課題がまだ整理できていなくても、ご相談ください。

AI・DXとマーケティングを一体で相談