2010-11-16 94 views

回答

12

好了,這就是我們所說的stringly類型

由於stringByEvaluatingJavaScriptFromString:返回類型是NSString *,你要麼需要堅持使用字符串或強迫值到一些其他的(讀:更多的可用)型。

但無論如何,stringByEvaluatingJavaScriptFromString:將返回一個JavaScript變量的值給你沒有問題。

完成這一步的方法是通過使用匿名函數(在這種情況下是自動執行)的:

NSString *numOfElements = [webView stringByEvaluatingJavaScriptFromString:@"(function() {var elems = document.body.getElementsByTagName(\"u\"); return elems.length;})();"]; 

//do normal stuff with numOfElements like cast to an int or something cool like that. 
+0

能否請你幫我在這過於http://stackoverflow.com/問題/ 10793698 /如何對化妝圖像地圖 - 點擊 - 使用 - UIWebView的功能於iphone – 2012-06-27 14:11:17

3

你需要有一個return語句在JavaScript。可能有更好的方法來做到這一點,但對我來說JavaScript的工作如下:

NSString* findLink = @"function f() {var x = document.getElementsByTagName('a'); 
if(x.length > 0) { return x[0].getAttribute('href');}; return null;} f(); "; 

嘗試使用此代碼:

[webView stringByEvaluatingJavaScriptFromString:@"function f() {var elems = 
document.body.getElementsByTagName(\"u\"); return elems.length;}f();"];