引用WebView2中嵌入的资源



我正在构建一个应用程序,并希望使用HTML, CSS, &JS文件作为嵌入式资源,但仍然在WebView2组件中加载/引用它们。有什么好的(有效的)方法来做到这一点吗?

我已经看过SetVirtualHostNameToFolderMapping,但我不认为这适用于嵌入式资源。

对于WebView2,浏览器在一个单独的进程中运行,并且只有呈现的输出才会出现在您的窗口中。

最近所有的主流浏览器都朝着这个方向发展,不仅针对托管浏览器,而且针对普通的终端用户体验。进程分离提高了稳定性,并防止信息泄漏/损坏,否则可能导致各种攻击,如RowHammer和Spectre漏洞。

实际上,单个页面可以实现为一组进程,以隔离从不同域加载的脚本并防止XSS。

按照设计,浏览器进程不能直接访问进程中的数据。所以你必须钩到它的网络请求事件。

更多信息请阅读

  • 在WebView2应用程序中使用本地内容

特别要注意

WebView2控件中托管本地内容的另一种方式是依赖于WebResourceRequested事件。当控件试图加载资源时触发此事件。您可以使用此事件拦截请求并提供本地内容,如网络请求的自定义管理中所述。

有一个名为覆盖响应的例子,主动替换它,允许您使用Stream对象将内容返回给WebView2。

相关内容

  • 没有找到相关文章

最新更新