【发布时间】:2016-08-10 19:15:07
【问题描述】:
我正在开发一个 UWP 应用,该应用使用 WebView 打开几个页面。但问题是,每次用户点击外部链接时,应用都会打开 Microsoft Edge 以显示该链接。每次用户与 WebView 交互时,有什么方法可以阻止应用程序启动 Edge?事实上,我根本不希望这些链接打开。
我试图用谷歌搜索它,但我真的不知道要搜索什么。所以我决定寻求帮助。
如果这里相关,我也可以提供代码。谢谢
【问题讨论】:
我正在开发一个 UWP 应用,该应用使用 WebView 打开几个页面。但问题是,每次用户点击外部链接时,应用都会打开 Microsoft Edge 以显示该链接。每次用户与 WebView 交互时,有什么方法可以阻止应用程序启动 Edge?事实上,我根本不希望这些链接打开。
我试图用谷歌搜索它,但我真的不知道要搜索什么。所以我决定寻求帮助。
如果这里相关,我也可以提供代码。谢谢
【问题讨论】:
我在WebView.NewWindowRequestedUWP WebView 上找到了一篇文章
它解决了我的问题。我在程序中使用的一段代码在这里:
void MultiPageWeb::CouchTuner::OnNewWindowRequested
(Windows::UI::Xaml::Controls::WebView^ sender,
Windows::UI::Xaml::Controls::WebViewNewWindowRequestedEventArgs^ e)
{
auto myWebView = ref new WebView();
myWebView->Navigate(e->Uri);
myGrid->Children->First();
e->Handled = true;
}
myGrid是应用程序XAML页面中Grid的名称,First()只保留主页面,不加载其他可以通过点击启动的页面。
此外,XAML 页面需要包含以下代码:
<WebView x:Name="myWebView" NewWindowRequested="OnNewWindowRequested"/>
希望它会在此过程中对某人有所帮助。
【讨论】: