有人問到要如何從objective-c呼叫網頁的function並回傳值
以下為沒有傳參數的方法,
傳參數給網頁的function請看
【UIWebview 的javascript與ios objective-c互動傳參數】 此篇
若要從objective-c去呼叫網頁javascript並回傳值的話
有兩種作法
一種就是再用function去呼叫丟objective-c內的的function
此方法較複雜也較麻煩 此方法可用前篇 在網頁呼叫callObjFunction的function
這是其中一種作法。
另種作法就最單純簡單
就直接在javascript使用return 就可以傳回到objective-c內
例:
webview的程式碼:
<!DOCTYPE html>
<html>
<head>
<script>
function callObjFunction()
{
return "I will return from js web";
}
</script>
</head>
<body>
</body>
</html>
Objective-c程式關鍵部份:
NSString *str = [_theWebview stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat:@"callObjFunction()"]];
NSLog(@"str:%@", str);
這樣就可以看見log有I will return from js web的字樣
發文附圖:
範例程式: GitHub
沒有留言:
張貼留言