1
<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 页面中的数据,它显示为空白)。建议一些解决方案。

4

1 回答 1

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 Core 上,如果您想访问“C:\”之类的 C 盘,您需要设置 UWP 应用的文件夹权限请注意,这仅适用于本机 Win32 api,例如。CreateFile2 而不是 WinRT api,如 StorageFolder、StorageFile 等。

于 2018-01-03T07:34:17.943 回答