【问题标题】:How to block onbeforeload JavaScript in web browser control?如何在 Web 浏览器控件中阻止 onbeforeload JavaScript?
【发布时间】:2013-09-01 13:56:33
【问题描述】:

目前我正在使用以下代码,但它不起作用:

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

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

如何完全屏蔽这个功能?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 这可能不会阻止window.addEventListener('onbeforeunload')等。
    猜你喜欢
    • 2011-01-20
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多