从应用程序数据本地文件夹在UWP中的xaml中的WebView中加载Html文件

我有一个要求,我需要从UWP中的xaml WebView中的app数据文件夹加载html文件。 Html文件也引用另一个文件夹(“99 / js /”)中的不同Js文件。 任何有UWP知识的人都会指导我。 在此先感谢我使用以下代码, Browser是我的WebView。

  var Uri = new Uri("ms-appdata:///Local/Downloads/99/index.html"); Browser.Navigate(Uri); 

我在99文件夹中的文件夹结构是: udapte
我正在尝试在离线加载html文件到WebView没有加载相同的html文件正在加载服务器URL。

要在离线时在WebView加载index.html ,您需要确保index.html中使用的所有资源都正确地位于应用程序的LocalFolder中 。 并且所有这些内容必须放在本地文件夹下的子文件夹中

WebView类中的参考备注

要从应用程序的LocalFolderTemporaryFolder数据存储中加载未压缩和未加密的内容,请使用Navigate方法和使用ms-appdata方案Uri 。 对此方案的WebView支持要求您将内容放在本地或临时文件夹下的子文件夹中。 这样可以导航到URI,例如ms-appdata:/// local / folder / file.html和ms-appdata:/// temp / folder / file.html 。 (要加载压缩或加密的文件,请参阅NavigateToLocalStreamUri 。)

例如,我创建了一个简单的index.html ,它使用js文件夹中的index.jscss文件夹中的index.css

的index.html

           

index.js

 window.onload = function () { document.getElementById("myBtn").onclick = function () { document.getElementById("myDiv").innerHTML += "You have clicked once! 
"; } }

index.css

 #myDiv { border: 2px dotted black; width: 500px; height: 500px; } 

它们位于我的应用的LocalFolder中,如下所示:
在此处输入图像描述

然后在我的UWP应用程序中,我使用了以下代码:

    
 protected override void OnNavigatedTo(NavigationEventArgs e) { Browser.Navigate(new Uri("ms-appdata:///local/Downloads/index.html")); } 

这很好用:
在此处输入图像描述
因此,如果您的html文件未加载,请检查您的应用的LocalFolder并确保您的html文件和资源位于正确的位置。

在本地计算机上,数据文件存储在文件夹中

%USERPROFILE%\应用程序数据\本地\包\ {}包标识

通常是C:\ Users \ {UserName} \ AppData \ Local \ Packages \ {PackageId} ,其中{UserName}对应Windows用户名, {PackageId}对应于Windows Store应用程序包标识符,您可以找到它作为Package family name应用程序清单文件的“ 打包”选项卡中的Package family name 。 包文件夹中的LocalState文件夹是LocalFolder。

对于Mobile Emulator,我们可以使用一些工具,如IsoStoreSpy或Windows Phone Power Tools来检查LocalFolder。

如果你可以加载html文件,但缺少一些资源,比如缺少css样式,你可能需要检查你的html代码并确保引用是正确的。