UIwebView无法从外部网站URL加载图像

时间:2017-09-19 15:18:43

标签: image swift3 relative-path

首先,这是针对Swift 3的。 我正在创建一个只为网站服务的容器应用程序。

问题是一切都恢复正常并且有效,但图像没有显示。在调试时,看起来问题是webview不接受来自asp应用程序站点的图像,该站点使用相对路径来命中应用程序中的.net api端点。该图像使用以下标记:

wide

所有其他功能和数据都很好。该网站适用于所有标准网络浏览器,包括safari。关于如何解决这个问题的任何想法。

2 个答案:

答案 0 :(得分:1)

你会认为webview会理解如何处理img标签的相对url ...添加协议和api路径的主机应该可以解决你的问题。

如果您正在注入HTML,请尝试以下内容:

'<img src='window.location.protocol + '//' + window.location.host + '"/api/Answers/Image/1006" class="panel-image" alt="">'

或者......如果您通过ID设置它:

var img = document.getElementById("ImageId");
img.src = window.location.protocol + '//' + window.location.host + '/api/Answers/Image/1006';

答案 1 :(得分:0)

Allen的回答是关于设置源的另一个本质的洞察力,但我发现该站点的后端开发人员意外地将图像api设置为需要身份验证。奇怪的是,这种身份验证没有在ipad应用程序以外的任何设备上触发。甚至浏览器也没有请求身份验证。删除图像api上的身份验证解决了问题。