<iframe src="C:\Users\sajith1x\Desktop\1.1.18\test1.html"></iframe>
<embed src="C:\Users\sajith1x\Desktop\1.1.18\test1.html" width="600" height="400"> </embed>
<object type="text/html" data="C:\Users\sajith1x\Desktop\1.1.18\test1.html"></object>
我的要求是在弹出窗口中加载动态创建的html文件,我尝试了iframe,object和embed标签,这三个都在使用ie和chrome浏览器但不使用UWA(而不是在那个html页面中的数据显示为空白为此提出一些解决方案。
答案 0 :(得分:0)
如果动态创建的HTML文件不在应用程序相关文件夹中,例如DocumentsLibrary,您可以先读取它并使用NavigateToString()来显示它。要支持访问HTML文件,您需要添加文件类型关联,如下所示:
这是一个C#示例:
var file = await KnownFolders.DocumentsLibrary.GetFileAsync("test1.html");
var content = await file.OpenAsync(FileAccessMode.Read);
ulong size = content.Size;
using (var inputStream = content.GetInputStreamAt(0))
{
using (var dataReader = new Windows.Storage.Streams.DataReader(inputStream))
{
uint numBytesLoaded = await dataReader.LoadAsync((uint)size);
htmlContent = dataReader.ReadString(numBytesLoaded);
}
}
try
{
webView1.NavigateToString(htmlContent);
}
catch (Exception ex)
{
}
如果动态创建的HTML文件位于应用已安装的文件夹,您可以这样做:
在Windows 10 IoT核心版上,如果要访问“C:\”之类的C盘,则需要Set folder permissions for UWP apps。 请注意,这仅适用于本机Win32 apis,例如。 CreateFile2而不是WinRT apis,如StorageFolder,StorageFile等。