2010-06-17 105 views
0

我想對UIWebView運行一些JavaScript,但它似乎並沒有工作。例如,下面是一段HTML我使用測試:UIWebView沒有正確評估javascript

<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代碼。 「解析器」是含有上述的JavaScript字符串:

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

回答

2

經進一步調查,問題竟然是那個網頁視圖還沒有完成加載的JavaScript調用時。我不得不從webViewDidFinishLoad委託回調中調用javascript。

4

貫徹UIWebViewDidfinishLoading方法和寫以下里面

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