繁体   English   中英

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

[英]How to block onbeforeload JavaScript in web browser control?

目前,我正在使用以下代码,但无法正常工作:

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

如果您单击“测试”,它将阻止警报,但是如果您离开或刷新,则不会阻止警报。

如何完全阻止此功能?

我设法通过对ProgressChanged事件而不是DocumentCompleted注入​​警报阻止程序来解决此问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM