问一个SHDocVwCtl.WebBrowser的问题

flying365 2012-04-18 07:37:33
我的代码是让webbrowser根据弹出窗口的地址来决定是否让网页的弹出窗口弹出,看了很多资料,似乎webbrowser不能捕获要弹出窗口的url,所以决定使用Web_V1_NewWindow来完成这个任务。正常情况使用Web_V1_NewWindow可以按需要弹出或者不弹出窗口,但只要该窗口中其它代码出现调试错误提示,web_V1_NewWindow的功能似乎就失效了,不能按代码的判断需要来抑制窗口的弹出(我是使用ACCESS2003编写的程序,在非编译状态下运行)。问题究竟出在哪里呢?有没有办法只用webbrowser而不用Web_V1_NewWindow来实现我需要的功能呢?

代码如下:
dim WithEvents Web_V1 As SHDocVw.WebBrowser_V1

Private Sub Form_Load()

'------------------------------------------------------------------
'在模块顶部定义了 Dim WithEvents Web_V1 As SHDocVw.WebBrowser_V1
'载入Web_V1,WebBrowser1有弹出新窗口时就可用响应
Set Web_V1 = WebBrowser1.Object
'--------------------------------
End Sub

Private Sub Web_V1_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, _
PostData As Variant, ByVal Headers As String, Processed As Boolean)
'如果URL中包含了"alert"使用ie打开,否则使用WebBrowser1打开
If InStr(URL, "alert") > 0 Then
Processed = False '从ie弹出
Else
Processed = True '不弹出
Debug.Print URL

WebBrowser1.Navigate URL

End If
End Sub
...全文
187 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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