1

我有一个具有 WebBrowser 控件的表单。Onload,它导航到某个 URL。在 DocumentCompleted 事件处理程序上,获取所需数据后,表单将关闭。这在大多数情况下都有效,但有时它会在表单关闭后弹出一个带有相同 URL 的 IE 窗口。

我注意到在 DebugView 中,它会记录m_useSurfacePresenter 1. 在调用 Close() 之前记录此内容时,没有弹出窗口。但是,在调用 Close() 后记录此内容时,会出现弹出窗口。

4

1 回答 1

0

您需要检查该文档中的 JavaScript .onunload 事件,如果它设置为在卸载该页面时打开一个新窗口(浏览器),那么当您关闭托管 webbrowser 控件的 winform 时,它将被触发,并且在翻,一页。

因此,当您关闭 winform 时,由于事件在 Document/Page --> WB Control --> WinForms Form 设置中的链接方式,webbrowser 控件中的页面 onUnload 事件也将被触发。

您实际上可以将其设置为空,通过在 WB 控件中运行指向页面的特定 JS 命令,您可以将 .OnUnload 事件设置为“ function () {};”,这将确保它设置的任何内容都将变为 Nothing/Null。这是一个代码示例:

window.onunload = 函数 () { };

让我知道它是怎么回事,如果这不能解决它,我会帮助你。注意上面是 JS,也有直接从 WB Control 执行 JS 的方法,网上很多例子,实际上有两种方法,一种使用 .execScript,另一种使用较新的方法,即 .InvokeScript。

于 2012-09-30T09:01:23.960 回答