wp7在web broser控件内打开另一个Web浏览器控件

时间:2012-08-30 04:06:05

标签: windows-phone-7 webbrowser-control

我有网页浏览器控件,其中包含许多链接和数据。所有这些数据都来自网络服务。

现在,当我点击第一个web broser链接时,我想打开另一个Web浏览器控件。 怎么做呢?

我的第一个网络代码是:

 webBrowser1.NavigateToString(htmlCode);

2 个答案:

答案 0 :(得分:1)

您可以在webBrowser1下隐藏另一个webBrowser。让我们称之为webBrowser2。现在,当用户点击webBrowser1上的链接时,捕获一个字符串,让我们说link。现在,您可以使用link导航至webBrowser2.Navigate(new Uri(link,UriKind.Absolute));。不要忘记隐藏webBrowser1和webBrowser2可见。

答案 1 :(得分:1)

如果我理解你,你想拦截第一个WB控件中的onClick事件(调用此WB1),并在另一个WB控件中打开该页面(当点击超链接时)(调用此WB2)?

有几种方法可以做到这一点,这个链接是否设置为在新窗口中打开?如果是这样,你可以拦截NewWindow2事件是WB1并在WB1的NewWindow2事件中运行以下代码... 设置pDisp = WB2.object

(它可能是ppDisp而不是pDisp,但它会在您的事件自动生成时显示,请选择参数列表中显示的任何对象名称。)

否则,您可以在WB1事件的BeforeNavigate2事件期间拦截此请求,检查URL属性是否是您感兴趣的链接,如果是,请取消当前请求并重新发出新请求,如下所示。 。(在WB1 BN2活动中)...... 取消=真'这取消了请求 WB2.Navigate2 URL ,,“YourWB2sDocumentNameOrTargetFrameNameGoesHere”

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

当然,YourWB2sDocumentNameOrTargetFrameNameGoesHere是TargetFrameName(或顶级文档的框架或文档名称,或WB2控件/窗口中的任何iframe)。这通常可以在BODY标签name = property中找到,但如果您只想将其作为WB2中的顶级文档加载,您甚至不需要这样做...如果您只是想将其加载为WB2中的父级顶级文档,只需执行此操作... 取消=真 WB2.Navigate2网址

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

如果您需要更多帮助,请告诉我,让我知道您是如何相处的。