2009-08-30 5 views
0

J'essaie de mettre en cache la page Web mobile de Gmail, car UIWebView ne met pas en cache le contenu lui-même (safari mobile, mais pas UIWebView).Juste ne peut pas sembler chercher le mobile Gmail html, ce qui ne va pas?

J'ai essayé les méthodes énumérées ici Reading HTML content from a UIWebView en enregistrant essentiellement le code HTML soit directement à partir de URLRequest ou à partir de UIWebView lui-même. Quand j'essaye de mettre le html sauvé dans UIWebView ce n'est pas la même page!

Ceci est la page que je veux sauver

alt text http://img39.imageshack.us/img39/5679/screenshot20090830at123.png

Ceci est la page que le HTML enregistré affiche

alt text http://img39.imageshack.us/img39/8734/screenshot20090830at122.png

Répondre

0

Cela ressemble à moi comme la même page, mais avec des feuilles de style différentes attachées. Si vous affichez simplement du code HTML identique sur votre serveur local, les chemins de feuille de style relatifs dans le code HTML de Google ne seraient plus corrects. De plus, toute requête AJAX destinée à être exécutée après le chargement de la page ne fonctionnerait plus (parce que les chemins relatifs aux scripts seraient erronés, et aussi parce que les restrictions de Cross-Site Scripting les empêcheraient de contacter Google).

Tenter de râper le contenu d'une application compatible AJAX n'est pas une mince affaire. Vous auriez à reproduire une grande partie des fonctionnalités de GMail pour vraiment reproduire la page exacte que Google présente.

1

Si vous chargez en utilisant loadData:MIMEType:textEncodingName:baseURL:, assurez-vous que vous définissez correctement l'URL de base - de cette façon, le WebView saura où rechercher les feuilles de style relatives, etc.

Modifier: Par exemple, si j'économisais cette page, je définirais l'URL de base à Just can't seem to fetch the mobile Gmail html, what is wrong?.

+0

Puis-je trouver le baseURL par programme depuis UIWebView après le chargement de la page? – erotsppa

+0

Ce n'est pas quelque chose qui peut être programmé car cela dépend de la configuration du serveur. Cependant, si vous êtes sur domain.com/some/path/page.html, domain.com est souvent l'URL de base. – iKenndac

Questions connexes