你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> Swift和Html5的相互調用

Swift和Html5的相互調用

編輯:IOS開發基礎

當前開發的APP中,Html5的應用場景非常多,常需要兩者之間的數據交換,或頁面跳轉。

參考了相關文檔,並整理如下,希望能給他人一些幫助。

Html5文件如下

屏幕快照 2016-02-01 (02-02-10-06-01).png

Native APP 調用 JavaScript

一個JavaScript方法對應一個WKUserScript對象。

let conf = WKWebViewConfiguration()
let userScript = WKUserScript(source: "redHeader()", injectionTime: .AtDocumentEnd, forMainFrameOnly: true)
conf.userContentController.addUserScript(userScript)
webView = WKWebView(frame: self.view.frame, configuration: conf)

JavaScript調用Native APP

1.首先添加一個WKScriptMessageHandler代理

class ViewController: UIViewController, WKScriptMessageHandler

2.實現?userContentController?的代理方法

func userContentController(userContentController: WKUserContentController!, didReceiveScriptMessage message: WKScriptMessage!) {
    if(message.name == "callbackHandler") {
        println("JavaScript is sending a message \(message.body)")
    }
}

3.WebView啟動對JavaScript的監聽事件

contentController.addScriptMessageHandler(
    self,
    name: "callbackHandler" 
)

4.H5中,添加如下JavaScript

webkit.messageHandlers.callbackHandler.postMessage("I Love you");

源代碼下載地址

http://git.oschina.net/hengchengfei/SwiftJS

效果圖

77.gif

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved