為了方便h5和app對接,一般使用JSBridge這個庫進(jìn)行垮兑。
注冷尉,Swift 版的WKWebView 只支持 iOS9.0以上版本。
使用方式
第一步系枪,pod第三方
pod ‘WKWebViewJavascriptBridge'
第二步雀哨,頁面調(diào)用
import WKWebViewJavascriptBridge
class WebController: UIViewController,WKNavigationDelegate,WKUIDelegate {
var bridge:WKWebViewJavascriptBridge!
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: screenHeight - navigationHeight ), configuration: WKWebViewConfiguration())
override func viewDidLoad() {
webView.navigationDelegate = self
view.addSubview(webView)
// setup bridge
bridge = WKWebViewJavascriptBridge(webView: webView)
//設(shè)置監(jiān)聽方法
bridge.register(handlerName: "globalJsbridge") { (paramters, callback) in
if paramters?.count == 0 {
return
}
let method:String = paramters!["method"] as! String
let param:NSDictionary = paramters!["param"] as! NSDictionary
switch (method) {
//調(diào)用原生方法登錄
case "openLogin”:
//調(diào)用完成,反傳字典給js
let dic = ["code": 1, "msg":"", "data":[]] as [String : Any]
callback?(dic)
break;
default:
break;
}
}
}