2010-11-30 25 views
1

J'essaie d'appeler un simple titre javascript à partir de l'objectif C .. mais le titre revient toujours vide. Si je change la chaîne en une chaîne aléatoire, le titre retournera la chaîne aléatoire. Ce qui signifie que je fais [webView] à tort? Qu'est-ce qui ne va pas? remerciementsjavascript script title de l'objectif C

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    // Add code to open bundled Web site 

    NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; 

    NSString *path = @"http://www.test.net"; 

    NSURL *url = [NSURL URLWithString:path]; 

    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

    [webView loadRequest:request]; 

    NSLog(@"%@",title); 

    // Override point for customization after application launch 
    [window makeKeyAndVisible];} 

Répondre

1

Vous évaluez ce javascript avant même que la page Web ait chargé la page.

Vous devez définir un délégué pour votre UIWebView. Ensuite, le délégué doit implémenter webViewDidFinishLoad:

Lorsque cette méthode de délégation est appelée, vous pouvez être sûr que la page est chargée et vous pourrez ensuite obtenir le titre.

+0

ok merci..comprenez la logique. vais essayer de comprendre les codes puisque je suis très nouveau à l'objectif C: D – Dayzza