如何在Web浏览器控件中阻止onbeforeload JavaScript?

时间:2013-09-01 13:56:33

标签: c# .net-2.0 webbrowser-control onbeforeunload

目前我正在使用以下代码,但它无效:

private void InjectAlertBlocker()
{
    string alertBlocker = @"window.alert = function () { }; 
                            window.print = function () { }; 
                            window.open = function () { }; 
                            window.onunload = function () { }; 
                            window.onbeforeunload = function () { };";

    webBrowser1.Document.InvokeScript("execScript", 
                                      new Object[] { alertBlocker, "JavaScript" });
}

http://www.ehrs.info/h/blea.php

如果您点击'测试&#39>它会阻止警报。但如果您离开或刷新,则不行。

如何完全阻止此功能?

1 个答案:

答案 0 :(得分:0)

我设法通过在ProgressChanged事件上注入警报阻止程序而不是DocumentCompleted来解决它。

private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
    {
        InjectAlertBlocker();
    }