2017-09-19 3 views
0

Tout d'abord, ceci est pour Swift 3. Je crée une application de conteneur qui sert simplement un site Web.UIWebView pas le chargement d'images à partir du site externe url

Le problème est que tout revient bien et fonctionne, mais les images ne sont pas à l'affiche. Lors du débogage, il semble que le problème est que le WebView n'accepte pas les images d'un site d'application asp qui utilise un chemin relatif pour atteindre un point final api .net dans l'application. L'image est diffusée avec le tag suivant:

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

Toutes les autres fonctionnalités et données sont de retour. Le site fonctionne parfaitement sur tous les navigateurs Web standard, y compris Safari. Des idées pour résoudre le problème.

Répondre

0

réponse Allen était perspicace sur une autre nature de la mise en place d'une source, mais j'ai trouvé que le développeur back-end pour le site mis accidentellement l'image api pour exiger une authentification. La chose étrange est que cette authentification ne s'est déclenchée sur aucun appareil autre que l'application ipad. Même le navigateur n'a pas demandé d'authentification. Suppression de l'authentification sur l'image api résolu le problème.

1

Vous penseriez WebView comprendrait comment gérer une URL relative pour une balise img ... Ajout protocole et l'hôte du chemin vers l'api devrait résoudre votre problème cependant.

Si vous injectez le code HTML, essayez quelque chose le long des lignes de ce:

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

Ou ... si vous définissez via id:

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