Tag: onbeforeunload

如何拦截WebBrowser控件中的onbeforeunload事件?

我有一个WinForms应用程序,其中我在WebBrowser控件中托管了一个Web页面。 网页的内容如下: onbeforeunload test Test window.onbeforeunload = function () { return ‘Are you sure you want to leave this page?’; }; 正如您所看到的,我订阅了onbeforeunload事件,该事件允许在离开此页面之前显示确认对话框。 当我单击重新加载页面的锚点时,这可以正常工作。 将显示确认框,用户可以取消重新加载页面。 这在WinForms托管控件中运行良好。 现在,我遇到的困难是在用户关闭WinForms应用程序时拦截并执行此事件(例如,通过单击X按钮)。 我能够在WinForms应用程序中获取此函数的内容,但无论我尝试什么,我都无法获取此函数返回的字符串的内容,以便我以后可以使用它来伪造MessageBox用户试图关闭该应用程序: webBrowser1.Navigated += (sender, e) => { webBrowser1.Document.Window.Load += (s, ee) => { // In order to get the IHTMLWindow2 interface I have referenced // the Microsoft HTML Object […]