.onerror

scriptのランタイムエラーのためのイベントハンドラです。

幾つかのまたは多くのerrorイベントはwindow.onerrorをトリガしないため、 それらを独自にリッスンしなければいけないことに注意してください。

文法

window.onerror = funcRef;

funcRefは関数への参照を指定します。 関数がtrueを返す場合、デフォルトのイベントハンドラが実行されることを防ぎます。 関数の引数は下記の通りです。

  • エラーメッセージ(string)
  • エラーが発生したURL(string)
  • エラーが発生した行数(number)
  • エラーが発生した行の列数(number)
    Gecko 31.0
  • エラーオブジェクト(object)
    Gecko 31.0

// 例 1:
// windowへのエラーイベントのデフォルトのイベントハンドラを上書きすることで、
// エラーダイアログが表示(windowの標準の振る舞い)されることを防ぎます。
window.onerror = null;


// 例 2:
var gOldOnError = window.onerror;
// 以前のハンドラを上書き
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
  if (gOldOnError)
    // 以前のハンドラの呼び出し
    return gOldOnError(errorMsg, url, lineNumber);

  // 単純にデフォルトのハンドラを呼び出し
  return false;
}

注意事項

エラーイベントは、script内でエラーが起こった際に、発生します。

インラインHTMLマークアップ(例:<body onerror="alert('エラー発生')>...)を使用する場合、 引数に名前が付けられません。 この場合、arguments[0]arguments[2]を使用して、参照することが可能です。

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。