iOS:通過讓本地代碼攔截JavaScript中調用的 window.location=”gap://Class.method/args”命令,來實現(xiàn)從JavaScript到本地代碼之間的通信。在本地 代碼攔截該命令后,解析獲取的參數(shù),然后調用對應的類、方法并傳遞參數(shù)。對應的,使用 UIWebView.stringByEvaluatingJavaScriptFromString來實現(xiàn)本地代碼調用JavaScript。
Android:通 過攔截JavaScript的prompt命令實現(xiàn)從JavaScript到本地代碼的通信。JavaScript prompt命令默認會彈出對話框,而PhoneGap的Android本地代碼會攔截該對話框,并進一步取得JavaScript數(shù)據(jù)。相應 的,Android上的PhoneGap內部,使用Java實現(xiàn)了一個HTTP服務器,通過持久性的XHR連接,JavaScript可以不斷輪詢內部 XHR服務器存儲的信息,從而實現(xiàn)了從Java到JavaScript方向的通信。
BlackBerry 4.x:JavaScript 與本地代碼之間的唯一通信方式是通過document.cookie實現(xiàn)的。JavaScript設定Cookie,本地代碼從Cookie中獲取信息。 對應的,本地代碼也可以設定Cookie,允許JavaScript從Cookie中獲取本地代碼信息。
BlackBerry WebWorks:新 的BlackBerry WebWorks SDK更好地支持了Java與JavaScript之間的交互通信。通過ScriptEngine.addExtension,Java對象可以被暴露給 JavaScript,而對應的Java可以使用ScriptEngine.executeScript來調用JavaScript。
Windows Phone 7:在Windows Phone 7中,JavaScript通過window.external.Notify可以將信息發(fā)送給本地代碼。而相應的,WebBrowser.InvokeScript允許本地代碼調用JavaScript。
posted on 2013-02-22 15:16
小果子 閱讀(1615)
評論(0) 編輯 收藏 引用 所屬分類:
學習筆記 、
Android & Ios