J'essaie d'obtenir la source HTML d'un UIWebView sans le télécharger de nouveau (faire un autre téléchargement, par exemple [NSData dataWithContentsOfURL:(NSURL*)URL]
ou lancer un NSURLRequest.) En parcourant l'en-tête et la documentation d'UIWebView, il semble n'y avoir aucun téléchargement. manière d'accéder au courant chargé NSData de la source. Est-ce que je manque quelque chose?UIWebView get HTML Source
4
A
Répondre
1
l'inverse devrait faire ce que vous voulez. C'est, charger l'URL dans un objet NSData puis charger le UIWebView de cet objet à l'aide – loadData:MIMEType:textEncodingName:baseURL:
24
UIWebView peut exécuter du code javascript, donc cela peut fonctionner.Objectif
NSString *html = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];
+0
Merci! Cela gère également le cas où le HTML est rendu à partir de JavaScript. – mkko
J'ai cette même question puisque mon webview est vide dans certains cas et j'aimerais voir s'il y a du HTML là-dedans. Je pense que [webview stringByEvaluatingJavaScriptFromString: script] pourrait être un début, mais je n'ai aucune idée de ce que javascript ramènerait le document entier. – TahoeWolverine
Comme le dit la réponse ci-dessous, il est plus facile de faire l'inverse (obtenir les données, puis le charger dans la vue web). J'ai écrit une classe wrapper pour télécharger les données (le rend plus simple, et vous obtenez également le type MIME) si quelqu'un le veut juste commentaire et je l'afficherai comme réponse si elle ne rentre pas dans un commentaire. Cependant, je me demande comment vous pouvez faire fonctionner les boutons Précédent/Suivant. Quelqu'un peut-il me le dire? –
@Alexandre Cassagne, pouvez-vous s'il vous plaît poster votre classe wrapper ou l'afficher à http://snipplr.com/? C'est ce dont j'ai besoin car je ne peux pas obtenir la source/données html dans l'autre sens que j'ai prévu. Merci – 0SX