2011-05-30 7 views
5

Editar:iPad de carga local HTML en vista web con imágenes y Javascript

Así que la respuesta fue en este post: Loading javascript into a UIWebView from resources

usted encontrará todo lo que necesita saber para cargar una aplicación HTML5 con los directorios allí , solo asegúrese de colocar los archivos en su proyecto de Xcode haciendo clic en el botón de opción que dice "Crear referencias de carpeta para cualquier carpeta agregada". Entonces solo usa el código en los enlaces que he agregado allí.

Gracias a Sergio por la ayuda.


He pasado por StackOverflow ya varias veces y ninguno de los código de encuentro no puede mostrar las imágenes de mi html5 aplicación. La parte difícil parece estar cargando archivos de diferentes subdirectorios. No quiero arrojar todo en la raíz y luego usar los grupos en Xcode porque tendría que volver a factorizar mucho el código HTML5.

Me gustaría construir esto como un contenedor liviano, no tiene que usar PhoneGap. Además PhoneGap viene con un bagage más grande de errores (probé nuestra aplicación y se colgó en el iPad y trabajó en el iPhone). Ya es bastante difícil lidiar con el lado HTML5 de las cosas y Cocoa Touch.

Así que aquí es como me carga la página HTML:

[webView loadRequest:[NSURLRequest requestWithURL: 
     [NSURL fileURLWithPath:[[NSBundle mainBundle] 
     pathForResource:@"index" ofType:@"html"]isDirectory:NO]]]; 

he encontrado alguna solución que se está haciendo de mí más cerca de "crear referencias de carpeta para todas las carpetas añadidas" al agregar los archivos a la carpeta de recursos, lo ahora puede ver algunas de las imágenes que se están cargando. El JS no parece estar funcionando correctamente. He probado esta aplicación cargándola desde una URL que se ejecuta en un servidor local y funciona en ese caso.

Así que CSS obviamente está funcionando, las imágenes también, pero JS parece ser un problema.

Espero que encuentre la respuesta pronto.


Antiguo

(esto es cuando yo era incluyendo las carpetas de manera equivocada)

Así como ustedes no tiene que estar preguntando ¿qué estoy viendo (que me parece js y las imágenes no se cargan y me tienen subdirectorios en la aplicación HTML5):

enter image description here


mensajes interesantes que están relacionados con este:

Loading javascript into a UIWebView from resources Link to resources inside WebView - iPhone

+0

dice que sus imágenes no se muestran; ¿se procesa el resto del HTML (es decir, texto)? – sergio

+0

Sí, el texto se carga. Lo siento por eso. Aunque no he probado si los enlaces funcionan. He hecho demasiadas pruebas y olvidé probar eso en las últimas. – HotFudgeSunday

+0

¿Está incluyendo todas sus imágenes en el grupo de recursos de su proyecto? ¿O dónde están alojados? – sergio

Respuesta

6

De hecho, se puede cargar un local HTML en un UIWebView mediante:

– loadHTMLString:baseURL: 

La única cosa que usted debe tener en cuenta of es cómo especificar el baseURL para que vaya al directorio de recursos local.Por lo tanto, si agrega en su HTML:

<img src="localImage.png" /> 
<link rel="stylesheet" type="text/css" href="theme.css" /> 
<script type="text/javascript" src="filename.js"></script> 

esto se encontrará entre los recursos de su proyecto.

Definitivamente funciona. Posiblemente haya algún "problema" con su fuente HTML y javascript (como, por ejemplo, el uso de subdirectorios o URL absolutas).

EDIT:

Si necesita organizar sus recursos (imágenes y scripts) en directorios dentro del directorio de recursos de su aplicación, consulte este S.O. topic.

para obtener la ruta a su directorio de recursos, el uso:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 

Una alternativa podría ser el anfitrión de la totalidad de su archivo en el directorio Documents de su aplicación (que se reserva para contenido del usuario). En este caso, supongo que puede descargar un archivo de su aplicación e instalarlo en el directorio del documento.

+0

Estoy usando subdirectorios en mis rutas para la aplicación HTML5. ¿Será esto un problema? Tal vez ese sea el problema. Tengo un montón de imágenes y algunas tienen nombres duplicados (estoy usando un código de algunos obsequios) que será un problema, lo sé. Me pregunto cómo lo hace Phonegap. ¿Simplemente buscan en los directorios buscando archivos o algo así? En Phonegap, ni siquiera necesita colocar sus archivos como recursos. Todo lo que necesitas es el index.html. – HotFudgeSunday

+0

Revisé mi respuesta para incluir más información que podría ayudarlo. Además, una pista sobre cómo puede crear directorios dentro de su carpeta de Recursos. – sergio

+0

Lo intentaré, muchas gracias Sergio. Publicaré mis resultados. – HotFudgeSunday

Cuestiones relacionadas