我相信这是非常简单的任务,我在网上看到了很多例子,但是由于我遇到了不同的例外,它们中没有一个能为我工作.
HTML:
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<p>
Help html content.
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<WebView x:Name="webView" />
<Button x:Name="buttonRefresh"
Grid.Row="1"
HorizontalAlignment="Center"
Click="buttonRefresh_Click">
Refresh
</Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)
要help.html在我的UWP应用程序LocalFolder中显示保存在文件中的静态html ,我已经尝试过以下操作:
- 使用Navigate方法:
private void buttonRefresh_Click(object sender, RoutedEventArgs e)
{
var uri = new Uri("ms-appdata:///local/help.html");
webView.Navigate(uri);
}
Run Code Online (Sandbox Code Playgroud)
结果是以下异常:
System.ArgumentException: Value does not fall within the expected range.
at Windows.UI.Xaml.Controls.WebView.Navigate(Uri source)
at SimpleUwpApp.Proxy.SimplerPage.buttonRefresh_Click(Object sender, RoutedEventArgs e)
Run Code Online (Sandbox Code Playgroud)
- 尝试在后面的代码中显式设置webView的Source属性:
private void buttonRefresh_Click(object sender, …Run Code Online (Sandbox Code Playgroud) 我需要编写代码,将一些HTML(通过其他方式从外部源接收)加载到WebView中,并显示此HTML中引用的图像.这些图像将存储在Windows.Storage.ApplicationData.Current.LocalFolder中的某处.
使用本地图像的建议都没有显示在webview for windows phone 8.1或使用Webbrowser控件中的本地图像为我工作.如果我用web.NavigateToString(html)加载这样的HTML:
<html><head></head><body>A <img src="file:///c:/Users/idh/AppData/Local/Packages/d783af9f-88eb-42f5-ab0f-abb025f32baa_5cy2zb9g43kb2/LocalState/folder/image001.jpg"> B</body></html>
Run Code Online (Sandbox Code Playgroud)
我只是显示了AB.我在文件:,ms-appx:和相对路径而不是文件:等之后尝试了斜杠和反斜杠,双斜线和三斜线.图像永远不会显示.同时,如果我将其保存在HTML文件中并在我的应用程序之外打开它,它显示正常.我还成功保存并阅读了这些文件(它们实际上出现在该文件夹中,因为我的应用程序创建了它们,因此未经授权的访问不是问题).package.manifest确实包括专用网络.
我最好不要使用嵌入式base64,自定义uri解析器和其他特殊技术,因为我不是应用程序的实际开发人员.我创建了一个获取HTML并将图像保存到本地存储的库,现在我需要演示一个易于使用的方法来可视化WebView中存储的内容,就像我之前为普通.NET框架所做的那样.即我实际上是为我的库用户的开发人员编写示例,然后这些人将使用我的示例处理此HTML和图像.
作为最后的手段,我最终可以为我的样本的UWP版本编写base64或自定义解析器(而对于像普通.NET框架这样的其他平台,相同的过程要容易得多).但我想至少确保在源HTML中为图像选择正确的URL的直接途径是不可能的,我不会最终得到一些情况,我写了一些相当复杂的东西,然后有经验的UWP应用程序揭示了我过度设计了一些东西.即一些专家意见"不,在UWP中不可能,你必须使用base64嵌入或自定义URI解析"对我也有用.
我正在构建一个现代的ui应用程序,并希望通过批处理文件,编写并定期更新可通过ms-appdata://winjs应用程序中的协议访问的数据.我有批处理文件来复制文件夹,但我找不到appdata的文件路径.
App1's appdata 的默认文件路径是什么?如何强制我的应用创建文件夹?