在微软的网站上,有关于这一块的说明,阅读前可以先看看这块参考内容:
在 WebView2 应用中处理本地内容

主要的问题在于这几个方面

  1. 如果使用 使用虚拟主机名映射加载本地内容 的方式来加载页面,自然代码是非常的简单,而且页面从表面看,也启用了https。然而可惜的是,这种方式只能支持http/https的访问方式,而在当前的webview2下,这两种方式均会导致每次加载时有2秒的额外延迟,即使加载就是就是一个静态的html文件。微软的网站上其实也说明了一句:由于当前限制,使用虚拟主机名访问的媒体文件加载速度可能会很慢。
  2. 如果加载的网页时使用当前流行的vue/react生成的,会发现每次只能加载首页。如果启用了浏览器路由的,这个时候想直接定位到子页面,是不可行的。原因是并不存在直接对应的页面文件,导致webview2读取失败。
  3. 假设文件很多,这个时候我们想把资源文件打包成一个文件(通常为压缩包),又该如何操作呢?

解决方案的步骤分为如下几步:

  1. 添加WebResourceRequestedFilter,控制请求数据的读取过程,对特定url进行处理。同时也可以解决压缩包读取问题。
  2. 读取到未知数据时,重定向到index.html,解决vue/react使用了浏览器路由而无法访问子页面的问题

以下代码从练手项目中摘抄,简单修改后即可运行

  1.  

2. 

3.

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注