我有一个MHT(Microsoft Web存档)文件,我已将其添加到项目文件夹中。我需要此文件显示在帮助页面上的WebView中。我已将文件的构建操作设置为"内容,"像this question推荐的那样。然后,我在页面的Loaded
事件处理程序中使用此代码。
Try
Dim strHelpNavigate = Path.Combine(Windows.ApplicationModel.Package.Current.InstalledLocation.ToString(), "\MyAppsHelp.mht")
webHelp.Navigate(New Uri(strHelpNavigate))
Catch ex As Exception
webHelp.NavigateToString("<html><head><style>body {font-family: segoe ui; color: white; background-color: black;}</style></head><body><h2>Sorry, the help page is currently unavailable.</h2></body></html>")
End Try
此代码产生异常:{"Invalid URI: The format of the URI could not be determined."}
我也尝试将"\MyAppsHelp.mht"
传递给像this question推荐的Navigate
方法,但这会产生相同的异常,我从Local窗口看到传递给{的字符串{1}}方法无论如何都是一样的。
有没有人对如何在WebView中显示此文件有任何建议?
答案 0 :(得分:0)
WebView本身不支持HTML存档文件,但如果您愿意,可以将这些文件转换为html +图像。
在记事本中打开.mht文件,您将看到HTML文件的每个部分都有单独的部分 - 您可以解析这些部分以获取HTML,然后是base64编码的图像,然后保存它们位于您的本地app文件夹中,并使用WebView.NavigateToLocalStreamUri加载它们。有关如何使用此方法的详细信息,请参阅http://blogs.msdn.com/b/wsdevsol/archive/2014/06/20/a-primer-on-webview-navigatetolocalstreamuri.aspx。
当然,如果它是一个你将一直使用的静态文件,那么在打包应用程序之前转换它会容易得多。