我正在使用WP7 WebBrowser控件。在这个页面上我有一个超链接。这个链接来自网络服务。我想在我的应用程序代码后面处理该超链接的click事件(即在C#中)。我希望在此超链接点击事件上显示另一个Web浏览器控件
WebBrowser控件是否有办法处理点击事件?
答案 0 :(得分:0)
如果我理解你,你想拦截第一个WB控件中的onClick事件(调用此WB1),并在另一个WB控件中打开该页面(当点击超链接时)(调用此WB2)?
有几种方法可以做到这一点,这个链接是否设置为在新窗口中打开?如果是这样,您可以拦截NewWindow2事件是WB1并在WB1的NewWindow2事件中运行以下代码...
Set pDisp = WB2.object
(它可能是ppDisp而不是pDisp,但它会在您的事件自动生成时显示,请选择参数列表中显示的任何对象名称。)
否则,您可以在WB1事件的BeforeNavigate2事件期间拦截此请求,检查URL属性是否是您感兴趣的链接,如果是,请取消当前请求并重新发出新请求,如下所示。 。(在WB1 BN2活动中)......
Cancel = True ' This cancels the request
WB2.Navigate2 URL, , "YourWB2sDocumentNameOrTargetFrameNameGoesHere"
第二行代码只是重新发出请求。
当然,YourWB2sDocumentNameOrTargetFrameNameGoesHere是TargetFrameName(或顶级文档的框架或文档名称,或WB2控件/窗口中的任何iframe)。这通常可以在BODY标签name = property中找到,但如果您只想将其作为WB2中的顶级文档加载,您甚至不需要这样做...如果您只是想将其加载为WB2中的父级顶级文档,只需这样做......
Cancel = True
WB2.Navigate2 URL
通过引用WB2,它将在取消WB1请求后向WB2窗口发送相同的URL请求。
如果您需要更多帮助,请告诉我,让我知道您是如何相处的。