只监视 右键 哦右键 点击 链接 的时候,会弹出 菜单这个时候,触发 什么事件??如何 获取 右键 点击的时候,该链接的 URL 地址?
我的目的是:在WebBrowser里,如果右键点击链接的时候,如果该链接包含有指定的字符串,就不让它弹出 菜单比如 链接里有 xxx.com,如果对着该链接 点 右键,就不弹出 菜单如果没有 xxx.com 就可以正常弹出菜单

解决方案 »

  1.   

    [code=visual basic]
    '添加webBrowser控件,引用HTML Object Library
    Option Explicit
    Dim WithEvents objDoc As HTMLDocumentPrivate Sub Form_Load()
    WebBrowser1.Navigate "www.chromeplus.org"
    End SubPrivate Function objDoc_oncontextmenu() As Boolean
    Debug.Print objDoc.activeElement.tagName, TypeName(objDoc.activeElement)
    If TypeName(objDoc.activeElement) = "HTMLAnchorElement" Then
        Debug.Print "context menu on:", objDoc.activeElement.innerText
        '// return false;
    Else
        objDoc_oncontextmenu = True
    End If
    End FunctionPrivate Sub WebBrowser1_DownloadComplete()
    Debug.Print "complete"
    Set objDoc = WebBrowser1.Document
    End Sub
    [/code]
      

  2.   

    2楼MM的代码很不错,我修改1下,例如想实现这样的功能在百度页面里,如果包含有 mp3 的超级链接上点右键,就不弹出菜单Option Explicit
    Dim WithEvents objDoc As HTMLDocumentPrivate Sub Form_Load()
        WebBrowser1.Navigate "www.baidu.com"
    End SubPrivate Function objDoc_oncontextmenu() As Boolean
        objDoc_oncontextmenu = True
        If TypeName(objDoc.activeElement) = "HTMLAnchorElement" Then
            Debug.Print objDoc.activeElement.href
            If InStr(objDoc.activeElement.href, "mp3") > 0 Then
                objDoc_oncontextmenu = False
            End If
        End If
    End FunctionPrivate Sub WebBrowser1_DownloadComplete()
        Debug.Print "complete"
        Set objDoc = WebBrowser1.Document
    End Sub
    功能基本可以实现,还想请教一下这里是用DownloadComplete好,还是DocumentComplete好?Private Sub WebBrowser1_DownloadComplete() '你用的是DownloadComplete
        Set objDoc = WebBrowser1.Document
    End Sub