Web 浏览器控制阻止您确定要离开此页面

Posted

技术标签:

【中文标题】Web 浏览器控制阻止您确定要离开此页面【英文标题】:Web Browser Control prevent Are you sure you want to leave this page 【发布时间】:2017-01-01 23:14:51 【问题描述】:

我有一个用于导航到另一个页面的应用程序,一种网络浏览器,问题是对于某些网页它说“你确定要离开这个页面吗?”对话。我想完全删除它。它应该在没有此对话的情况下开始导航。我试过了,

WebBrowser.ScriptErrorsSuppressed = True

截图:http://image.prntscr.com/image/5d1adcbd60794f22b5ad7baf736b29f2.png

我也尝试禁用 javascript,但没有成功。任何帮助,将不胜感激。

【问题讨论】:

什么应用程序?我很确定该对话框不是“脚本错误”,因此此设置对您没有帮助。 申请是为了增加我博文的浏览量。因此它停止了。 好吧,一个例子是,如果你打开 facebook 并写一些消息,然后尝试刷新浏览器,它会显示这个消息。在 Internet Explorer 中尝试。这只是一个示例,还有许多其他网站会阻止您在没有此弹出窗口的情况下进行导航。我已经添加了截图。请检查一下。 window.onbeforeunload = null; 可能是你的朋友,因为它是 JavaScript... @kayess:谢谢伙计!这是正确的答案。我已经注入了这个javascript并且像一个魅力一样工作。再次感谢你。 :) 【参考方案1】:

JavaScript onbeforeunload 事件负责处理此类消息。通过将其设置为 null 为:

window.onbeforeunload = null;

您可以阻止其处理程序代码运行。

【讨论】:

【参考方案2】:

这将起作用:

Dim doc As htmlDocument = WebBrowser1.Document
Dim head As HtmlElement = doc.GetElementsByTagName("head")(0)
Dim s As HtmlElement = doc.CreateElement("script")
s.SetAttribute("text", "function cancelOut()  window.onbeforeunload = null; ")
head.AppendChild(s)
WebBrowser1.Document.InvokeScript("cancelOut")

【讨论】:

【参考方案3】:

您需要使用here 中不安全的原生方法来拦截新窗口事件

【讨论】:

以上是关于Web 浏览器控制阻止您确定要离开此页面的主要内容,如果未能解决你的问题,请参考以下文章

如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗

是啥导致“您确定要离开此页面”在 iframe/网页中? [复制]

jquery beforeunload 关闭(不离开)页面时?

怎么使用jquery阻止页面的离开或卸载

关闭窗口弹出确定离开此页面功能

微信小程序嵌套webview页面条件控制是不是返回小程序