2016 - 2024

感恩一路有你

如何在UWP开发中防止WebView自动打开浏览器

浏览量:1707 时间:2024-08-17 07:01:39 作者:采采

在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自动打开浏览器,我们可以通过添加新页面请求事件处理函数来实现。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。