2012-08-30 29 views
0

内的另一个Web浏览器控件我有一个包含许多链接和数据网络浏览器控制。所有这些数据都来自Web服务。WP7打开网页broser控制

现在我想打开另一个当我点击第一个网页链接broser Web浏览器控件。 那怎么办呢?

我的第一个网页broser代码:

webBrowser1.NavigateToString(htmlCode); 
+0

看看我的详细解答这个链接您的其他问题:http://stackoverflow.com/questions/12194598/handle-web-browser-link-event-in-wp7或者我已经张贴在这里同样的答案,因为你的问题是一样的,如果他们回答你的问题,请接受他们。 –

回答

1

你可以有另一种web浏览器webBrowser1下隐藏。我们称之为webBrowser2。现在,当用户点击webBrowser1上的链接时,将其捕获一个字符串可以说为link。现在,您可以使用webBrowser2.Navigate(new Uri(link,UriKind.Absolute));导航到link。不要忘记让webBrowser1隐藏并且webBrowser2可见。

1

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

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

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

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

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

当然,YourWB2sDocumentNameOrTargetFrameNameGoesHere是您的WB2控件/窗口中的TargetFrameName(或顶级文档的框架或文档名称,或任何iframe)。这通常可以在BODY标签名称=属性被发现,但你甚至不需要这样做,如果你想要的是将其加载为WB2顶层文件...如果你只是想将其加载为父顶层文件WB2,只是这样做...... 取消=真 WB2.Navigate2 URL

通过参考WB2它将只发送相同的URL请求WB2窗口取消WB1请求后。

让我知道如果你需要更多的帮助,让我知道你是怎么相处的。