回 帖 发 新 帖 刷新版面

主题:如何使webbrowser里的链接点击后都在新窗口打开?

程序中有两个webbrowse,为A和B,其中A只是用作维持某一特定页面里的link有效的,不显示,程序自动从A的网页中获得特定的链接,并一个一个地点击,并希望在B里面显示。但是,点击这些链接之后默认会在A窗口中显示,这样一来,获得的link对象就会失效。
  有没有方法使A窗口的链接link.click之后在新窗口中打开?

回复列表 (共4个回复)

沙发

一种笨方法,给获得的link都加上target="_blank"属性,就会在新窗口中打开链接,然后在newwindow2事件中Set ppDisp = Web(0).Application.

期待更好的方法

板凳

Option Explicit
Dim Flag As Boolean

Private Sub Check1_Click()
  Flag = Check1.Value
End Sub

Private Sub Form_Load()
  WebBrowser1.Navigate "www.163.com"
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
  If Flag Then
    Cancel = True
    WebBrowser2.Navigate2 URL, Flags, TargetFrameName, PostData, Headers
  End If
End Sub

3 楼

其实这方法我用过。这样确实可以使在新窗口打开。但由于只是对页面中的一部分link需要在其它窗口打开,而获得的link.click之后,在beforenavigate2事件里的url是不确定的,无法筛选,所以,不是很适用。
不过,不用再考虑这个问题了。

4 楼


八成想搞个作弊程序,想实现自动点击吧,呵呵

我来回复

您尚未登录,请登录后再回复。点此登录或注册