首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

WebBrowser_V1的NewWindow事件中终止弹出窗口失败解决方案

2012-01-23 
WebBrowser_V1的NewWindow事件中终止弹出窗口失败如题。我用WebBrowser_V1的NewWindow事件,主要是考虑到这

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


哪位大侠知道是怎么回事???????烦请不吝赐教!!!!!!非常感谢!!!!!!!!!


[解决办法]
应该没问题的啊,对照一下看你有没少写什么代码

VB code
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 参数。

热点排行