UIWebView stringByEvaluatingJavaScriptFromString горе - PullRequest
4 голосов
/ 20 сентября 2010

У меня есть следующий код в контроллере представления. "pageDisplay" - это UIWebView. Когда я запускаю приложение в симуляторе, страница HTML появляется так, как она появляется до запуска JS. Элемент с идентификатором «myHeader», тегом <h1>, не изменился.

-(void) loadPageToView:(int)pageNumber{
    NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d",pageNumber]ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [pageDisplay loadRequest:request];
    [self doJavaScript];
}

-(void) doJavaScript{
    [pageDisplay    stringByEvaluatingJavaScriptFromString:@"document.getElementById('myHeader').innerHTML = \"FOO\";"];   
}                                                     

1 Ответ

6 голосов
/ 20 сентября 2010

Вы звоните doJavaScript слишком рано.Вам нужно дождаться загрузки страницы.Изучите метод делегата веб-представления - (void)webViewDidFinishLoad:(UIWebView *)webView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...