美文网首页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