2017-09-19 1 views
0

먼저 스위프트 3에 대한 것입니다. 단순히 웹 사이트를 제공하는 컨테이너 앱을 만들고 있습니다.UIwebView가 외부 사이트 URL의 이미지를로드하지 않음

문제는 모든 것이 정상적으로 작동하고 작동하지만 이미지가 표시되지 않는 것입니다. 디버깅 할 때 웹 뷰가 상대 경로를 사용하여 응용 프로그램 내에서 .net api 끝점을 방문하는 ASP 응용 프로그램 사이트의 이미지를받지 못하는 것 같습니다. 이미지는 다음 태그와 함께 게재됩니다.

<img src="api/Answers/Image/1006" class="panel-image" alt=""> 

기타 모든 기능 및 데이터가 정상적으로 돌아옵니다. 이 웹 사이트는 사파리를 포함한 모든 표준 웹 브라우저에서 완벽하게 작동합니다. 이 문제를 해결하는 방법에 대한 아이디어.

답변

0

알렌의 대답에 통찰력이 있었다 당신이 HTML을 주입하는 경우

이의 라인을 따라 뭔가를 시도 소스를 설정하는 또 다른 본질이지만, 사이트의 백엔드 개발자가 우연히 이미지 API를 인증을 요구하도록 설정했음을 발견했습니다. 이상한 점은이 인증이 ipad 앱이 아닌 다른 장치에서 트리거되지 않는다는 것입니다. 브라우저조차도 인증을 요청하지 않았습니다. 이미지 API에서 인증을 제거하면 문제가 해결되었습니다.

1

당신은 img 태그에 대한 상대 URL을 처리하는 방법을 이해할 것이라고 생각할 것입니다 ... PHP에 경로의 프로토콜과 호스트를 추가하면 문제가 해결됩니다. 당신이 ID를 통해 그것을 설정하는 경우

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

또는 ... :

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