새 브라우저 버전의 출시가 하나의 트렌드가 되었습니다. 얼마 전까지만 해도 브라우저 업데이트는 연간 두 번 정도 이루어지는 것이 일반적이었지만, 요즘은 업데이트 주기가 매우 짧아졌습니다. 이렇게 잦은 업데이트는 개발자들에게 큰 부담을 주기 때문에 모든 업데이트가 완벽할 수는 없습니다. 최근의 대표적인 사례 중 하나가 바로 "_doPostBack이 정의되지 않았습니다(_doPostBack is undefined)"라는 자바스크립트 오류를 일으키는 버그입니다.
_doPostBack 오류의 원인
이 오류는 기본적으로 Internet Explorer 10의 브라우저 정의 파일(browser definition files)에 존재하는 버그 때문에 발생합니다. 해당 버그는 .NET 2.0 및 .NET 4와 함께 배포된 IE 버전에 포함되어 있습니다. 기존 브라우저에서는 문제없이 작동했던 정의 범위였지만, Internet Explorer 10에서는 동일한 정의 범위와 호환되지 않습니다. 오류가 발생하면 다음과 같은 메시지가 화면에 표시됩니다.
_doPostBack is undefined
이 오류는 주로 ASP.NET 애플리케이션 환경에서 발생합니다.
자바스크립트 오류 '_doPostBack is undefined' 해결 방법
이 Internet Explorer 10 오류를 해결하는 방법에는 크게 두 가지가 있습니다. 시스템 전체에 적용하는 방법과 특정 부분만 수정하는 방법입니다.
시스템 전체 수정 방법
마이크로소프트 KB 문서의 단계를 따라 하면 _doPostBack 오류를 간단히 복구할 수 있습니다. 관련 문서는 아래에서 확인할 수 있습니다.
- .NET 4: https://support.microsoft.com/kb/2600088
- .NET 2.0: https://support.microsoft.com/kb/2600100 및 https://support.microsoft.com/kb/2608565
문서의 내용이 어렵게 느껴진다면 Windows Update를 실행하여 Internet Explorer 관련 업데이트를 모두 설치해 보세요. 해당 문제를 해결해 주는 업데이트가 포함되어 있을 가능성이 있습니다.
특정 수정 방법
여러 가지 사유로 인해 마이크로소프트의 공식 해결 방법이 효과가 없었다면, 다른 방법을 시도해 볼 수 있습니다. 이 방법은 더욱 구체적인 접근 방식으로, 오류가 있는 정의 파일과 레지스트리 항목을 정확히 찾아내어 수정해 줍니다. 이 방법을 적용하려면 Windows 복구 소프트웨어 도구를 다운로드해야 하지만, 그만한 가치가 충분히 있습니다. 진행 순서는 다음과 같습니다.
- 본문 하단의 다운로드 링크를 클릭하여 설치 패키지를 다운로드합니다.
- 설치 프로그램을 실행하여 PC에 소프트웨어를 설치합니다.
- 소프트웨어를 실행한 후 오류 검사를 시작합니다.
- Fix All(모두 수정) 버튼을 클릭하여 감지된 모든 문제를 자동으로 복구합니다.
- 복구가 완료되면 컴퓨터를 재시작합니다.