2011-05-18 46 views
7

我有一個包含webview的iPad應用程序。 webview的頁面上有一個按鈕,點擊時,需要以某種方式告訴本機應用關閉web視圖。有沒有辦法做到這一點?即webview中的javascript將消息傳遞給本機應用程序的方式,反之亦然?webview與本地iOS應用程序通信的任何方式?

謝謝!

回答

2

NSString實例字段發生更改時,可能會有NSNotification火災。使用後here來幫助理解如何在JavaScript和Objective-C之間進行通信。

然後,它僅僅是一個通知和字符串邏輯的問題:

步驟爲JavaScript到目標C:

  1. Web視圖按鈕被按下。
  2. JavaScript會觸發返回字符串的方法。
  3. 本地NSString被更新爲表示Web視圖中的按鈕被按下(請參閱上面的文章)。
  4. NSNotification基於字符串更改觸發。
  5. Objective-C關閉Web視圖。

不知道你想從Objective-C回傳到Web視圖,但上面的帖子應該有所幫助。

0

我認爲最好的方法是使用僞圖像代替。

JS將插入一個新的圖像,例如:http://example.com/callnative_1354524562763.gif?p1=v1&p2=v2

和你的WebView將覆蓋NSURLCache檢索1x1大小的透明圖像,並從你的網頁內容分析的參數。

請注意,NSURLCache只緩存一次,所以請爲每個調用生成新的時間戳。

這種方式適用於我的項目並立即致電本地iOS應用程序。

相關問題