onerror 이벤트는 페이지의 JavaScript 오류 처리를 지원하는 데 사용됩니다. 페이지에서 예외가 발생하면 창 개체에서 오류 이벤트가 트리거됩니다. 예:
이 경우 브라우저에 다음 오류 메시지가 표시됩니다.
.
브라우저가 기본 대화 상자에 오류 메시지를 표시하지 않도록 하려면 onerror 메소드가 true를 반환하도록 하세요.
또한 onerror 메소드는 정확한 오류 정보를 확인하기 위해 다음과 같은 세 가지 매개변수도 제공합니다.
1) 메시지: 발생한 오류 정보를 선언하는 문자열(브라우저마다 반환되는 메시지 내용이 약간 다름)
2) url: 오류가 발생한 문서의 URL을 선언하는 문자열입니다.
3) line: 오류가 발생한 코드 줄의 줄 번호를 선언하는 숫자입니다.
예:
추신: 이 방법은 Safari 및 Opera에서 테스트에 실패했습니다.
참고: onerror 이벤트는 다른 js 프로그램보다 먼저 바인딩되어야 합니다.
2, img로드 오류
태그는 onerror 핸들러를 지원합니다. 이 이벤트 핸들러는 다양한 이유로 이미지 파일을 로드하지 못한 경우 트리거됩니다. 이 방법을 사용하면 현재 이미지를 불러오지 못했을 때 기본 이미지를 표시할 수 있습니다.
예:
onerror에 제공된 이미지 주소가 네트워크 문제나 다른 이유로 로드될 수 없는 경우 IE는 onerror 이벤트를 루프로 실행하여 스택이 오버플로되도록 합니다. 페이지에 오류 메시지가 표시됩니다: "라인:0의 스택오버플로".
IE 6.0은 일반적으로 팝업 메시지 상자를 통해 오버플로 현상을 보고하고 해당 기능을 계속 수행합니다. 그러나 일부 오버플로 취약점이 발생하면 열려 있는 모든 창이 메시지 없이 닫힙니다. 그러므로 이번 이벤트 이용 시 주의가 필요합니다!
참고: 태그의 onerror 메소드에는 추가 매개변수가 없습니다.