UIWebView не оценивает JavaScript должным образом - PullRequest
0 голосов
/ 17 июня 2010

Я пытаюсь запустить какой-то javascript для UIWebView, но, похоже, он не работает.Например, вот фрагмент html, который я использую для проверки:

<html><body><h1>Hello World!</h1><p>It's me.</p></body></html>

Если я запускаю следующий javascript для него, возвращаемое значение равно 0, когда оно должно быть 1.

var elements = document.getElementsByTagName("h1");
elements.length;

Вот код objc, который я использую для веб-просмотра.'parser' - это строка, содержащая вышеуказанный javascript:

[webView loadHTMLString:@"<html><body><h1>Hello World!</h1><p>It's me.</p></body></html>" baseURL:nil];
NSString *markupResult = [webView stringByEvaluatingJavaScriptFromString:parser];

Ответы [ 2 ]

4 голосов
/ 30 июня 2010

Реализуйте метод UIWebViewDidfinishLoading и напишите в нем следующий код

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *markupResult = [webView stringByEvaluatingJavaScriptFromString:parser];
}
2 голосов
/ 17 июня 2010

При дальнейшем исследовании проблема заключалась в том, что веб-просмотр не завершил загрузку при вызове javascript. Мне пришлось вызвать javascript из функции обратного вызова делегата webViewDidFinishLoad.

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