c# -当网页上的javascript调用window.close()时关闭System.Windows.Forms.W
C# - Close a System.Windows.Forms.WebBrowser when the javascript on the webpage calls window.close()
我正在c# System.Windows.Forms上启动一个网站。在网站上执行任务后,网站的javascript调用一个函数,该函数由以下内容组成:
window.open("Closer.html", '_self');
close .html包含:
<script type="text/javascript">
window.close();
</script>
这在IE或chrome等外部浏览器上运行完美。但是我的winforms浏览器还是开着的。我研究了一下,发现其他人也遇到过这个问题,但都找不到解决办法。
我想要么有我的c# System.Windows.Forms.WebBrowser类检测javascript函数window.close()已被调用,随后做一个简单的this.close()调用,或者我可以修改javascript close .html来关闭System.Windows.Forms.WebBrowser窗口,如果可以的话
试试这个。设置浏览器以允许导航。从设计器或通过代码。
wb.AllowNavigation = true;
然后,查看该事件是否被触发:
private void wb_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.AbsolutePath.IndexOf("closer.html", StringComparison.OrdinalIgnoreCase) > 1)
this.Close();
}
显然,您需要连接导航事件。同样,通过设计器或通过代码。
wb.Navigating += wb_Navigating;
编辑:这应该适用于你的具体情况,但我确实看到一个很好的答案张贴在这里类似的问题。
如何在窗口关闭时通知我。关闭(javascript) ?
使用在那里找到的代码,并修改html,您应该能够处理这个问题。你可以直接调用window.close()来代替重定向。然后,浏览器应该注意到并采取相应的行动。相关文章:
- 当脚本由system.js加载时,如何要求('electron')
- 通过sdk/system/events在修改请求观测器上测试http
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- PERL and HTML Forms
- 使用System.JS添加模块
- system.err风格的控制台以javascript打印
- 调用 db.system.js $where 中的函数
- Dojo Build System - 使用带有谷歌地图API的异步插件
- Two input forms side-by-side programatically via JavaScript
- js表单验证中的docment.forms[“myForm”][“Element”].value命令
- flask forms and javascript
- PHP:在web浏览器中输出system/Shell_exec命令输出
- Javascript Simplification - Onclick, Onblur, Onfocus - Forms
- 当我使用javascript向跨域POST时,我会得到一致的行为吗;document.forms[0].submit()
- OpenLayer Coordinate System
- "执行处理程序'的子请求时出错;System.Web.UI.Page'"同时使用JQu
- 如何在浏览器中集成 System.js 和 babel
- System.Windows.Forms.WebBrowser没有't运行Javascript
- 使用javascript ActiveX对象触发System.Windows.Forms dll
- c# -当网页上的javascript调用window.close()时关闭System.Windows.Forms.W