首页 > 解决方案 > 在 UWP 应用中,html 资源应该存储在 assets 目录中的什么位置?

问题描述

在使用 cppwinrt 的 UWP 应用程序中,我想使用 WebView 来显示保存在 Assets 文件夹中的书的内容。我读到有必要以这种方式引用 html 资产,以用作 Web 视图中 Navigate 方法的 Uri 参数:

TheWebView.Navigate(Uri(L"ms-appx-web:///SampleBook/PageOne.html"));

这会产生一个空视图,而

TheWebView.Navigate(Uri(L"ms-appx:///SampleBook/PageOne.html"));

崩溃。Msdn 说,对于“将被加载到 web 隔间”的文件,必须使用 ms-appx-web,我已经看到有人提到这是一个安全问题。但这是否意味着文件位于项目中的特殊位置 - 即不仅仅是在 Assets 文件夹中 - 还是仅意味着路径必须以独立于文件位置的 ms-appx-web 开头?“Web隔间”没有解释,但似乎不是位置,而是资源类型的分类。无论如何,上述方法都不起作用,所以我很想知道在包中存储和访问 html 文件集合的推荐方法。在资产文件夹中?资产中的特殊文件夹?在解决方案资源管理器中列出了 html 文件,“内容”为 True,并且该文件包含在项目中。谢谢。

标签: c++-winrt

解决方案


我的错误:ms-appx-web 没有指向 assets 文件夹,而是指向它的父文件夹。此类型内容的正确路径是 ms-appx-web///Assets/SampleBook/PageOne.html。对要“加载到 web 隔间”的材料的引用显然只是一种说法:要使用 WebViewer 加载的东西。


推荐阅读