WebBrowser 如何屏蔽弹窗,但是保留来路呢?

homeyone 2015-07-08 09:04:22
   
Private Sub WebBrowser1_NewWindow(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
'取消IE窗口弹出
e.Cancel = True
Dim NewUrl As String
NewUrl = CType(sender, Windows.Forms.WebBrowser).Document.ActiveElement.GetAttribute("href")
Me.WebBrowser1.Url = New Uri(NewUrl)
End Sub


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
WebBrowser1.ScriptErrorsSuppressed = True
AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).NewWindow2, AddressOf NewWindow1

End Sub

Private Sub NewWindow1(ByRef ppDisp As Object, ByRef Cancel As Boolean)
Dim nf As New Form1
Dim xweb As New SHDocVw.WebBrowser
nf.WebBrowser1.Navigate("about:blank")
xweb = nf.WebBrowser1.ActiveXInstance
ppDisp = xweb
nf.Show()
' Cancel = True
End Sub



这样确实可以不弹窗,但是新的页面就失去了来路等信息,如何把Referer 等信息也传递过去呢?

...全文
200 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-07-13
  • 打赏
  • 举报
回复
这是VB6的例子:How To Use the WebBrowser Control NewWindow2 Event
你先试试在NewWindow2()中用自己的WebBrowser窗体代替IE弹窗能否获取来路等信息。
有的话再试试能不能用当前WebBrowser和ppDisp关联起来。
红衣老大 2015-07-12
  • 打赏
  • 举报
回复
引用 1 楼 FoxDave 的回复:
是拦截webbrowser打开的新窗口吗? 百度搜就有好多
作为一个 斑竹 这回大太简略了 麻烦 百度搜索一下,给一个能用的
Justin-Liu 2015-07-09
  • 打赏
  • 举报
回复
是拦截webbrowser打开的新窗口吗? 百度搜就有好多

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧