如何在UWP开发中防止WebView自动打开浏览器
在UWP开发中,WebView控件是一个非常实用的组件。它可以很方便地加载网页并在应用内显示,但是一些时候,它会自动打开浏览器来显示新页面请求,这可能不是我们想要的。本文将介绍如何添加WebView的新页面请求事件处理函数,以防止浏览器的打开。
创建WebView控件
首先,在XAML界面中创建一个名为“webViewMain”的WebView控件。这样我们就可以在代码中对其进行操作。
指定WebView打开特定页面
在代码中使用Navigate函数即可指定WebView打开特定页面。这个函数只需要传入一个Uri参数即可。WebView控件内部有javascript runtime和cookie处理机制,通常不需要额外设置。
(new Uri(""));
添加新页面请求事件处理函数
WebView控件有许多EventHandler,我们需要关注的是NewWindowRequested事件。为了防止自动打开浏览器,我们需要给这个事件添加一个处理函数。
WebViewMain_NewWindowRequested;
在事件处理函数中,我们需要将args.Handled设置为true,表示该事件已经被处理完成,不再继续处理,即不再打开浏览器。
private void WebViewMain_NewWindowRequested(WebView sender, WebViewNewWindowRequestedEventArgs args)
{
args.Handled true;
}
自定义请求消息
如果需要自定义referrer,我们可以使用NavigateWithHttpRequestMessage函数按照给定的请求消息发出请求。下面是示例代码:
var requestMsg new HttpRequestMessage(, new Uri(""));
("Referer", "");
(requestMsg);
运行效果
现在,我们已经成功地阻止了WebView自动打开浏览器。点击链接时,页面会在WebView内部继续导航。
结论
在UWP开发中,使用WebView控件可以很方便地加载网页并在应用内显示。但有时需要阻止WebView自动打开浏览器,我们可以通过添加新页面请求事件处理函数来实现。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。