JavaScript エラー
このページには、一般的な JavaScript エラーの検出と解決に役立つヒントを掲載しています。
エラーレポートの有効化
レポートが無効になっているか、またはレポート対象の特定の JavaScript または Ajax エラーが無視されるように構成されている可能性があります。「JavaScript および Ajax エラー検出の構成」を参照してください。
モニター対象のページの別のスクリプトで JavaScript window.onerror イベントが設定されている場合、この設定はブラウザ RUM エラーキャプチャに干渉する可能性があります。「window.onerror イベントの処理」を参照してください。
JavaScript エラーの可視化
JavaScript エラーを表示および分析するには、次の 2 つの機能を使用できます。
- JavaScript エラーダッシュボードを使用して、特定のエラーを表示およびトラブルシューティングします。「JavaScript エラーダッシュボード」を参照してください。
- 分析を使用して、ブラウザ リクエスト イベント データを照会し、JavaScript 例外とエラーのサマリーダッシュボードを作成します。「JavaScript エラーの可視化」を参照してください。
クロスドメイン JavaScript のエラー情報の表示
デフォルトでは、セキュリティ上の理由から、ほとんどの最新のブラウザは、他のドメインからロードされたスクリプトの window.onerror エラー情報へアクセスできません。このエラー情報にアクセスするには、Cross-Origin Resource Sharing(CORS)を有効にする必要があります。Firefox と Chrome の両方で、HTML 内の server と script エレメントにわずかな変更を加えることで、CORS を有効にできます。
CORS を not 有効化した場合、次に示すように、エラーメッセージ「CROSSORIGIN」が表示されます。
CORS を有効にすると、次に示すようなエラーの詳細が表示されます。
また、Chrome からページに移動してから *[JavaScript Console > Network > Headers] を開くと、HTTP 応答ヘッダー が表示されます。
以降のセクションでは、window.onerror クロスドメインスクリプトでエラー情報にアクセスするための変更方法について説明します。
サーバの変更
CORS を有効にするには、発信者と同じドメインからではない応答に次のヘッダーを追加する必要があります。
Access-Control-Allow-Origin: *
スクリプトタグの変更
script エレメントには、「crossorigin」という新しい非標準属性があります。crossorigin の最もセキュアな値は anonymousです。したがって、次のようにスクリプトタグを変更する必要があります。
<script src="http://sub.domain.com/adrum.js" crossorigin="anonymous"></script>
ブラウザによる CORS サポート
将来的には、ほとんどのブラウザで CORS が有効になると考えられます。Internet Explorer 10 以降では、CORS がネイティブサポートされていて、エラーを window.onerror に報告します。CORS をサポートするブラウザ / レイアウトエンジンのリストについては、「CORS:ブラウザサポート」を参照してください。