C#.Net 에서 웹브라우저 컨트롤을 폼에 삽입하여
웹브라우저 호스팅할 때 자바 스트립트 에러가 발생하여
디버깅할지 예/아니오를 선택하라고 한다면
webBrowser.ScriptErrorsSuppressed 속성을 true로
설정하여 다이얼로그를 보이지 않도록 할 수 있다.
단, 웹브라우저의 도구 -> 인터넷 옵션 -> 고급 설정의
검색 항목에서 "스크립트 디버깅 사용안함(기타)"에 체크한다.
(Internet Explorer 7.0의 경우)
webBrowser.ScriptErrorsSuppressed 속성이 true인 경우
자바 스크립트 오류 뿐만 아니라 ActiveX 컨트롤에서 발생한
다이얼로그까지 나타내지 않는 문제가 있을 수 있다.
이런 경우 아래와 HtmlWindow.Error 이벤트 핸들러를 추가하여
자바 스크립트 오류만 suppress 시킬 수 있다.
private void SuppressScriptErrorsOnly(WebBrowser browser)
{
browser.ScriptErrorsSuppressed = false;
browser.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(
browser_DocumentCompleted);
}
private void browser_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
((WebBrowser)sender).Document.Window.Error +=
new HtmlElementErrorEventHandler(Window_Error);
}
private void Window_Error(object sender, HtmlElementErrorEventArgs e)
{
e.Handled = true;
}
자료 출처
http://msdn2.microsoft.com/en-us/library/system.windows.forms.webbrowser.scripterrorssuppressed.aspx
http://www.cfdan.com/posts/Visual_Basic_6_And_Internet_Explorer_7.cfm




댓글을 달아 주세요