UIWebView没有正确评估javascript

时间:2010-06-17 00:25:52

标签: javascript iphone uiwebview

我正在尝试对UIWebView运行一些javascript,但它似乎不起作用。例如,这是我用来测试的html片段:

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

如果我对它运行以下javascript,则返回值为0,当它应为1时。

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

这是我用于webview的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 个答案:

答案 0 :(得分:4)

实现UIWebViewDidfinishLoading方法并在其中编写以下代码

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *markupResult = [webView stringByEvaluatingJavaScriptFromString:parser];
}

答案 1 :(得分:2)

经过进一步调查,问题结果是,当调用javascript时,webview还没有完成加载。我不得不从webViewDidFinishLoad委托回调中调用javascript。