簡體   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