美文网首页Swift 探索与思考
Swfit WKWebView 使用JSBridge和H5进行交

Swfit WKWebView 使用JSBridge和H5进行交

作者: steveMoriya | 来源:发表于2018-08-21 17:32 被阅读230次

为了方便h5和app对接,一般使用JSBridge这个库进行。

注,Swift 版的WKWebView 只支持 iOS9.0以上版本。

使用方式

第一步,pod第三方

pod ‘WKWebViewJavascriptBridge'

第二步,页面调用

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)

        //设置监听方法
        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) {
               
                //调用原生方法登录
            case "openLogin”:
                
                 //调用完成,反传字典给js
                 let dic = ["code": 1, "msg":"", "data":[]] as [String : Any]
                 callback?(dic)

                break;

            default:
                break;
            }

}

}

相关文章

网友评论

    本文标题:Swfit WKWebView 使用JSBridge和H5进行交

    本文链接:https://www.haomeiwen.com/subject/ycbjiftx.html