想在WP7的外部浏览器中打开Link
架构如下:
单击一个按钮,将打开一个HTML页面,其中包含一个链接。 单击链接后,我想在WP7的外部(默认)浏览器中打开它,以便应用程序关闭并在外部打开链接。 我该如何实现呢?
在xaml文件中添加了此控件:
点击按钮:
private void Information_Loaded(Object sender,RoutedEventArgs e) { Assembly assembly = Assembly.GetExecutingAssembly(); using (Stream stream = assembly.GetManifestResourceStream("index_en.html")) { using (StreamReader reader = new StreamReader(stream)) { string html = reader.ReadToEnd(); browser.NavigateToString(html); } }
现在index_en.html有一个链接,可以在外部浏览器中打开。
您可以使用WebBrowserTask
启动浏览器。
我发现你需要转义你传递给它的url:(
通常,您可以使用标记上的
Target
属性来执行此操作。 但是,在WP7
(至少在模拟器中),这不起作用。
你可以做的是使用Navigating
事件拦截如下:
void WebBrowser1_Navigating(object sender, NavigatingEventArgs e) { if (IsSupposedToOpenInPhoneBrowser(e.Uri)) { e.Cancel = true; WebBrowserTask task = new WebBrowserTask(); task.URL = e.Uri.ToString(); task.Show(); } }
你可以使用这样的东西
private void Button_Click_1(object sender, RoutedEventArgs e) { WebBrowserTask webBrowserTask = new WebBrowserTask(); webBrowserTask.Uri = new Uri("http://www.someUrl.com"); webBrowserTask.Show(); }