我可以检测到一个jscript窗口.在托管在Windows窗体中的浏览器控件中关闭事件
本文关键字:检测 窗体 Windows 浏览器 控件 事件 一个 我可以 窗口 jscript | 更新日期: 2023-09-27 18:04:08
我的客户端要求在用户登录时显示"闪屏"屏幕。目前我的客户端使用一个Windows应用程序实例化一个System.Windows.Forms。WebBrowser类来承载一个网页,但由于各种原因,这是不合适的。
我的客户要求我创建一个无铬模态窗体,将包含一个浏览器控件,将托管网页。此页面由一条消息和两个按钮组成:"是"(导航到另一个URL)和"否"(关闭浏览器)。
在当前(不令人满意的)版本中,"否"按钮调用包含
的javascript函数window.close();
这工作良好的时刻,但显然,如果(在新的化身)的网页是托管在一个浏览器控件内的Windows窗体,那么窗口。close不会自动弹出Windows窗体
那么,有没有办法让Windows窗体"检测"到窗口呢?关闭浏览器控件中发生的事件?
我希望上述内容是清楚的。
多谢爱德华
而不是调用window。从javascript调用外部c#函数,像这样
window.external.CloseWindow
并将对象设置为scripting
webBrowser1.ObjectForScripting = this;
你的c#类应该有CloseWindow函数
或覆盖窗口。亲密的像
window.close=function() { window.external.CloseWindow(); }
谢谢大家。
经过一些额外的挖掘,Sudhakar B的答案是有效的。我必须加上
[System.Runtime.InteropServices.ComVisibleAttribute(true)]