WebBrowser_V1的NewWindow事件中终止弹出窗口失败
如题。
我用WebBrowser_V1的NewWindow事件,主要是考虑到这里可以得到URL,从而可以轻松过滤到弹出广告等。
但是现在发现一个问题:对于那些不想打开的url,终止无效。我的代码见下面:
Private Sub Webb_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean)
'打开新窗口之前需要判断url是不是黑名单或是自动弹出的广告窗体等
On Error Resume Next
Processed = True '取消新窗口的弹出
If IsADURL(url) Then'如果是属于广告类的url
'此处什么也不做,应该是意味着取消打开了吧????
Else
'动态添加webbrowser数组打开
AddNewWebbrowser url'传递url参数,使用动态增加的webbrowser来打开
End If
End Sub
哪位大侠知道是怎么回事???????烦请不吝赐教!!!!!!非常感谢!!!!!!!!!
[解决办法]
应该没问题的啊,对照一下看你有没少写什么代码
Option ExplicitPrivate WithEvents webv1 As SHDocVwCtl.WebBrowser_V1Sub test1() Dim strUrl As String' strUrl = App.Path & "\test.htm" strUrl = App.Path & "\popuptest.htm" WebBrowser1.Navigate2 strUrlEnd SubPrivate Sub Form_Load() Set webv1 = WebBrowser1.object test1End SubPrivate Sub webv1_NewWindow(ByVal Url As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean) '打开新窗口之前需要判断url是不是黑名单或是自动弹出的广告窗体等 On Error Resume Next Processed = True '取消新窗口的弹出 If IsADURL(Url) Then '如果是属于广告类的url '此处什么也不做,应该是意味着取消打开了吧???? Else '动态添加webbrowser数组打开' AddNewWebbrowser URL '传递url参数,使用动态增加的webbrowser来打开 End IfEnd Sub
[解决办法]
帮顶 回复内容太短了!
[解决办法]
用 NewWindow2 事件,可以设置 Cancel 参数。