在wp7中处理web浏览器链接事件



我使用的是WP7 WebBrowser控件。在这个页面上我有一个超链接。此链接来自web服务。我想在我的应用程序代码后面(即C#中)处理该超链接的点击事件。我想在该超链接点击事件上显示另一个web浏览器控件

WebBrowser控件是否有处理单击事件的方法?

如果我理解你的意思,你想在你的第一个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"

第二行代码只是重新发出请求。

当然,YourWB2sDocumentNameOrTargetFrameNameGoes这里是TargetFrameName(或顶级文档的框架或文档名称,或WB2控件/窗口中的任何iframe)。这通常可以在BODY标记name=属性中找到,但如果您只想将其作为WB2中的顶级文档加载,则您甚至不需要这样做。。。

Cancel = True
WB2.Navigate2 URL

通过引用WB2,它将在取消WB1请求后向WB2窗口发送相同的URL请求。

如果你需要更多的帮助,请告诉我,并告诉我你是如何相处的。

最新更新