'ScriptErrorsSuppressed'에 해당되는 글 1건

  1. 2007/09/27 ScriptErrorsSuppressed

ScriptErrorsSuppressed

삽질 2007/09/27 06:34

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


Posted by