【问题标题】:Local relative images are not loading in WebView. UWP Windows 10本地相对图像未在 WebView 中加载。 UWP 视窗 10
【发布时间】:2016-08-18 14:49:00
【问题描述】:

当我尝试使用存储在 Windows 10 应用程序的 LocalStorage 文件夹中的 NavigateToString 加载 html 时。它没有加载其相关文件,如 CSS、Javascript、图像。

我也在顶部使用了基本标签。相同的概念适用于 Silverlight 应用程序。

【问题讨论】:

  • 能把你本地html的代码贴出来吗?

标签: xaml uwp windows-10-universal


【解决方案1】:

我正在尝试使用存储在 Windows 10 应用程序的 LocalStorage 文件夹中的 NavigateToString 加载 html

首先,我不知道这些相关文件是否包含在您的应用中(作为内容),您需要确保。

如果您需要修改参考链接以适合您的本地资源,请考虑使用NavigateToLocalStreamUriIUriToStreamResolver 接口的实现,它们可以帮助我们自定义加载 HTML 和支持文件(例如 CSS、脚本和图像)。检查这个sample

我只是根据这个WinRT 8.1 sample做了一个简单的测试(很容易转换成UWP应用)

如果我将本地图片作为内容包含在应用中,我可以正确嵌入它们

【讨论】:

  • 谢谢富兰克林,让我检查一下方法,我会回复你。
  • 谢谢富兰克林,现在我可以打开图片了。但问题是我的 HTML 已加密,出于安全目的,我无法将解密的 HTML 存储到 LocalStorage。 HTML 文件我只需要navigationToString。我该如何解决这个问题。有什么帮助吗?
  • @user3678684 我建议你解密你的 html 文件并保存到 ApplicationData.TemporaryFolder 并在应用程序进入非激活状态时清除它,你能为这个新问题打开一个新问题吗?
【解决方案2】:

我发现 UWP WebView 在 JS 文件中出现引号 ' ' 的问题。

在我的例子中,我有:

element.style.backgroundImage = 'url(' + image.src + ')'

所有浏览器都显示没有问题的图像,但不是 WebView。 所以我改变了这样的引号:

element.style.backgroundImage = "url(\'" + image.src.toString() + "\')"

它成功了!希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-14
    • 2017-05-15
    • 2017-07-05
    • 1970-01-01
    • 2017-07-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多