在 ObjectiveFlickr 的 PhotoSearch
範例中,就有兩個簡單使用 WebKit 的例子,一個是使用
WebKit 存取某個 web view 當中的 DOM element:
DOMHTMLElement *e = (DOMHTMLElement*)[[[webView mainFrame]
DOMDocument] getElementById:@"photos"];
拿到這個 DOMHTMLElement 後,就可以取得和修改 innerHTML
了:
[e setInnerHTML:code];
另一個例子則是呼叫 Javascript
,這裡用的是簡單的做法:
[webView stringByEvaluatingJavaScriptFromString:@"new
Effect.BlindDown('photos')"];
回傳值是一個字串。事實上 WebKit 還有更細緻的呼叫
JavaScript 的方法,不但能從 Objective-C 呼叫 JavaScript
函數,也能直接取得 JavaScript 物件(會自動轉換為
Cocoa 中的 NSString, NSNumber 或 NSArray
等物件)。同樣的,在 WebKit 裡執行的 JavaScript
,也可以取得 Objective-C 物件(只要你願意 export
出來),甚至可以呼叫 Objective-C 的 method。