次の方法で共有


WebBrowser.ScriptErrorsSuppressed プロパティ

定義

スクリプト エラー メッセージなどのダイアログ ボックスが WebBrowser に表示されるかどうかを示す値を取得または設定します。

public:
 property bool ScriptErrorsSuppressed { bool get(); void set(bool value); };
public bool ScriptErrorsSuppressed { get; set; }
member this.ScriptErrorsSuppressed : bool with get, set
Public Property ScriptErrorsSuppressed As Boolean

プロパティ値

true コントロールにダイアログ ボックスが表示されない場合。それ以外の場合は false。 既定値は、false です。

例外

この WebBrowser インスタンスは無効です。

基になる ActiveX WebBrowser コントロールから IWebBrowser2 インターフェイス の実装への参照 取得できませんでした。

次のコード例は、他のダイアログ ボックスを抑制せずにスクリプト エラーを抑制する方法を示しています。 この例では、 ScriptErrorsSuppressed プロパティが false に設定され、ダイアログ ボックスが確実に表示されます。 HtmlWindow.Error イベントのハンドラーによってエラーが抑制されます。 このイベントは、ドキュメントの読み込みが完了したときにのみアクセスできるため、ハンドラーは DocumentCompleted イベント ハンドラーにアタッチされます。

// Hides script errors without hiding other dialog boxes.
private void SuppressScriptErrorsOnly(WebBrowser browser)
{
    // Ensure that ScriptErrorsSuppressed is set to false.
    browser.ScriptErrorsSuppressed = false;

    // Handle DocumentCompleted to gain access to the Document object.
    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)
{
    // Ignore the error and suppress the error dialog box. 
    e.Handled = true;
}
' Hides script errors without hiding other dialog boxes.
Private Sub SuppressScriptErrorsOnly(ByVal browser As WebBrowser)

    ' Ensure that ScriptErrorsSuppressed is set to false.
    browser.ScriptErrorsSuppressed = False

    ' Handle DocumentCompleted to gain access to the Document object.
    AddHandler browser.DocumentCompleted, _
        AddressOf browser_DocumentCompleted

End Sub

Private Sub browser_DocumentCompleted(ByVal sender As Object, _
ByVal e As WebBrowserDocumentCompletedEventArgs)

    AddHandler CType(sender, WebBrowser).Document.Window.Error, _
        AddressOf Window_Error

End Sub

Private Sub Window_Error(ByVal sender As Object, _
    ByVal e As HtmlElementErrorEventArgs)

    ' Ignore the error and suppress the error dialog box. 
    e.Handled = True

End Sub

注釈

WebBrowser コントロールに表示する Web ページをデバッグするには、このプロパティをfalseに設定します。 これは、コントロールを使用して Web ベースのコントロールとスクリプト コードをアプリケーションに追加する場合に便利です。 このコントロールを汎用ブラウザーとして使用する場合は、あまり役に立ちません。 アプリケーションのデバッグが完了したら、このプロパティを true に設定してスクリプト エラーを抑制します。

ScriptErrorsSuppressedtrue に設定されている場合、WebBrowser コントロールは、スクリプト エラーだけでなく、基になる ActiveX コントロールからのすべてのダイアログ ボックスを非表示にします。 ブラウザーのセキュリティ設定やユーザー ログインに使用されるダイアログ ボックスなどのダイアログ ボックスを表示するときに、スクリプト エラーを抑制することが必要になる場合があります。 この場合は、 ScriptErrorsSuppressedfalse に設定し、 HtmlWindow.Error イベントのハンドラーでスクリプト エラーを抑制します。 詳細については、このトピックのコード例を参照してください。

適用対象

こちらもご覧ください