2009-04-27 9 views
11

J'essaie d'utiliser un UIWebView pour afficher du contenu, et jQuery pour manipuler ce contenu, mais je ne peux pas charger jQuery. Voici le code que j'ai mise en place du UIWebView, le réglage de la baseURL, et le chargement du contenu (un fichier HTML qui est dans le paquet local):jQuery ne se charge pas sur l'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]; 

Les charges de contenu très bien, et je l'ai confirmé que la baseURL est correct en ajoutant une image à l'ensemble et en la référençant dans le code HTML, et cela fonctionne. En utilisant le même HTML dans Safari sur mon Macbook, jQuery se charge aussi très bien, et fonctionne comme prévu.

J'ai essayé les deux en utilisant le jquery-1.3.2.min.js compressé et le développement jquery-1.3.2.js, et pas de dés pour l'un ou l'autre.

Des idées?

Répondre

22

Gah! EBCAK!

Il s'avère que lorsque j'ai copié la source jquery javascript dans le projet, il a été copié dans les «sources de compilation» de la cible, ce qui a bien entendu jeté des erreurs. Je l'ai supprimé de "Compile Sources" mais je ne l'ai pas ajouté à "Copy Bundle Resources".

/moi frappe plusieurs fois le front.

+0

J'ai besoin de savoir ce que cela signifie! Comment charger l'API jQuery dans votre projet pour manipuler les données de la page? – Justin

+5

Par défaut, lorsque vous incluez le fichier .js de jQuery dans XCode, il le place dans le dossier compilé de votre cible, ce qui est faux. Accédez à votre cible dans XCode et faites glisser le fichier JQuery de "Compiler les sources" à "Copier les ressources de l'ensemble" et il se chargera normalement. –

+0

@DonJones Y at-il un moyen de le faire fonctionner sans ajouter jquery js dans les sources de paquets de copie, parce que je vais le télécharger et le sauvegarder et charger le HTML dans UIWebview quand on accède depuis App. –

1

Avez-vous essayé de copier les fichiers .html et .js dans le dossier de documents de l'application et de pointer UIWebView vers ce dossier local?

Questions connexes