繁体   English   中英

隐藏由WebBrowser中的showModalDialog生成的模式窗口

[英]Hide modal window generated by showModalDialog in WebBrowser

我有这个页面:

<body>
    <script>
        function showModal() {

            // do some things here...

            var address = 'http://localhost:61948/modal.aspx';
            window.showModalDialog(address);
        }
    </script>
    <form id="form1" runat="server">
    <div>
        <input id="btnModal" type="button" value="button" onclick="showModal();" /></div>
    </form>
</body>

然后,我有一个单击该按钮的WebBrowser。

public Form1()
{
    string url = "http://localhost:61948/WebForm1.aspx";
    InitializeComponent();
    webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
    webBrowser1.Navigate(url);
}

void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    webBrowser1.Document.GetElementById("btnModal").InvokeMember("click");
}

问题是我不应该显示模态,但是我必须单击按钮。 我尝试使用newWindow事件取消该事件,但在这种情况下不会触发此事件。 真正的应用程序是控制台应用程序,我什么也无法显示,因此隐藏了浏览器,但正在向用户显示模式窗口。 而且我无法在服务器端进行任何更改。 我只需要向用户隐藏此模式窗口。

尝试

webBrowser1.Document.InvokeScript("eval", new Object[] { "window.showModalDialog = null;" });

如果要在其他位置显示对话框,则可以window.showModalDialog更改为window.external.showModalDialog并在对象中实现showModalDialog方法以进行脚本编写。

暂无
暂无

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

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