Swfit WKWebView 使用JSBridge和H5进行交互

为了方便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;
            }

}

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容