在一个窗体里放置两个WebBrowser,一个显示页面1,要求鼠标点击页面1的链接时,面另一个WebBrowser显示新的页面,如何实现呢?

解决方案 »

  1.   

    Private Sub WebBrowser_BeforeNavigate2(ByVal URL As String, ByVal Flags As Long, 
            ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, 
            Cancel As Boolean) 
        If (Instr(1,URL,"xyz.com") = 0) And (Instr(1,URL,"C:") = 0) Then 
            Cancel = True 
            WebBrowser.Navigate2 "http://www.abc.com" 
        End If 
    End Sub
      

  2.   

    多谢 jiangsheng.
    但我测试还存在以下问题。
    1、如果WebBrowser1里的链接设置为打开新窗口时,则新弹出的页面会以默认浏览器的方式弹出,而不是在WebBrowser2里打开;
    2、如何保证点击WebBrowser1里的链接的时候,WebBrowser1里内容不变,只有WebBrowser2里改变。就如页面中的Frame一样;
    3、如果页面中设置自动弹出窗口,那有什么办法屏蔽,是否会和以上功能相冲突。
    多谢
      

  3.   

    新窗口触发的是NewWindow2,新的对话框要捕获XPSP2和2003SP1才支持的NewWindow3
    在BeforeNavigate2的处理里面不是设置了Cancel=True了么?怎么还会变?