2009-04-27 17 views
11

Estoy tratando de usar un UIWebView para mostrar contenido, y jQuery para manipular ese contenido, pero no puedo cargar jQuery. Aquí está el código que he creación de la UIWebView, estableciendo el URLbase, y cargar el contenido (un archivo HTML que está en el paquete local):jQuery no está cargando en el iPhone

UIWebView *view = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 

NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSURL *baseURL = [NSURL fileURLWithPath:path]; 

NSData *htmlData = [[NSData alloc] initWithContentsOfURL: [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]]]; 
NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding]; 
[view loadHTMLString:htmlString baseURL:baseURL]; 

el contenido se carga bien, y he confirmado que el baseURL es correcto al agregar una imagen al paquete y al hacer referencia en el HTML, y funciona. Usando el mismo HTML en Safari en mi Macbook, jQuery también se carga bien y funciona como se esperaba.

He intentado tanto con el jquery-1.3.2.min.js comprimido como con el desarrollo jquery-1.3.2.js, y sin dados para ninguno.

¿Alguna idea?

Respuesta

22

Gah! EBCAK!

Resulta que cuando copié la fuente de jquery javascript en el proyecto, se copió en "Fuentes de compilación" del objetivo, que por supuesto arrojó errores. Lo eliminé de "Compilar fuentes" pero no lo agregué a "Copiar recursos de paquete".

/me golpea la frente repetidamente.

+0

¡Necesito saber lo que significa esto! ¿Cómo carga la API de jQuery en su proyecto para manipular los datos de la página? – Justin

+5

De forma predeterminada, cuando incluye el archivo .js de jQuery en XCode, lo coloca en la carpeta compilada de su destino, lo cual es incorrecto. Vaya a su destino en XCode y arrastre el archivo JQuery de "Compilar fuentes" a "Copiar recursos del paquete" y se cargará normalmente. –

+0

@DonJones ¿Hay alguna manera de hacerlo funcionar sin agregar jquery js en las fuentes del paquete de copia, porque lo descargaré y lo guardaré en el directorio de la aplicación y cargaré el html en UIWebview cuando acceda desde la aplicación. –

1

¿Ha intentado copiar los archivos .html y .js en la carpeta de documentos de la aplicación y apuntando el UIWebView a esa carpeta local?

Cuestiones relacionadas