Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 8 将本地HTML加载到WebView中_Windows 8_Microsoft Metro - Fatal编程技术网

Windows 8 将本地HTML加载到WebView中

Windows 8 将本地HTML加载到WebView中,windows-8,microsoft-metro,Windows 8,Microsoft Metro,我是否可以将本地HTML文件(带有图像和…)加载到WebView? 仅设置源参数不起作用。只要文件是应用程序包的一部分,您就可以从文件加载它,例如: WebView2.Source = new Uri("ms-appx-web:///assets/text.html"); 从 WebView可以使用从应用程序包加载内容 ms appx web://,来自使用http/https的网络,或来自字符串 使用导航字符串。它无法从应用程序的 数据存储。要访问intranet,请使用相应的功能 必须在应

我是否可以将本地HTML文件(带有图像和…)加载到
WebView


仅设置
参数不起作用。

只要文件是应用程序包的一部分,您就可以从文件加载它,例如:

WebView2.Source = new Uri("ms-appx-web:///assets/text.html");

WebView可以使用从应用程序包加载内容 ms appx web://,来自使用http/https的网络,或来自字符串 使用导航字符串。它无法从应用程序的 数据存储。要访问intranet,请使用相应的功能 必须在应用程序清单中启用


对于“随机”文件,我想您可以通过文件选择器提示用户选择该文件,然后将其读入字符串并使用,但根据您试图完成的任务,那里的用户体验可能有点奇怪。

我一直在解决此问题,我找到了一种方法: 首先,您应该将其保存在InstalledLocation文件夹中。如果您没有创建新的.html文件的选项,那么可以使用
file.copyanc(htmlFolder,fname+“.html”)
看看我的例子:

StorageFolder htmlFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.CreateFolderAsync(@"HtmlFiles", CreationCollisionOption.GenerateUniqueName);
IStorageFile file = await htmlFolder .CreateFileAsync(fname + ".html", CreationCollisionOption.GenerateUniqueName);
并且,您可以轻松打开.html文件:

var fop = new FileOpenPicker();
fop.FileTypeFilter.Add(".html");
var file = await fop.PickSingleFileAsync();
if (file != null)
{
   string myPath = file.Path.Substring(file.Path.IndexOf("HtmlFiles"));
   myWebview.Navigate(new Uri("ms-appx-web:///" + myPath));
}

请记住,仅从安装位置
您可以使用
ms appx web://

打开它,我认为报价和链接不再匹配。