我正在尝试对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];
答案 0 :(得分:4)
实现UIWebViewDidfinishLoading方法并在其中编写以下代码
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *markupResult = [webView stringByEvaluatingJavaScriptFromString:parser];
}
答案 1 :(得分:2)
经过进一步调查,问题结果是,当调用javascript时,webview还没有完成加载。我不得不从webViewDidFinishLoad委托回调中调用javascript。