美文网首页
iOS swift 和 H5交互 --MessageHandle

iOS swift 和 H5交互 --MessageHandle

作者: 风吹吹 | 来源:发表于2020-08-13 14:39 被阅读0次
image.png

图片上的弹框是iOS原生弹框
主要介绍H5调用swift

js调用iOS

一 iOS端

1.初始化WKWebVIew,向webView注入 通知名称
"myName"是移动端与iOS统一的名称

        let theConfiguration = WKWebViewConfiguration.init()
        theConfiguration.userContentController.add(self, name: "myName")
        self.wkWebView = WKWebView.init(frame: CGRect(x: 0
        , y: 0
        , width: SCREENW
        , height: SCREENH), configuration: theConfiguration)

2.实现WKScriptMessageHandler代理方法

func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
        if let messageBody = message.body as? [String:Any]
        {
            let message = messageBody["message"]
            print(message!)
        }
}

二 web端

//点击事件,实现以下语句就可以

jsFunc(){
var message = {'message':'MessageHandler 方式'};
window.webkit.messageHandlers.myName.postMessage(message);
}

如果是angular的项目,typescript 里面 要加上window的声明

declare var window: Window & { webkit: any };

iOS调用js

一iOS代码

        self.wkWebView.evaluateJavaScript("ocToJs('loginSucceed', 'oc_tokenString')") { (data, error) in
            
        }

二js代码

function ocToJs(action, params) {
 
}

相关文章

网友评论

      本文标题:iOS swift 和 H5交互 --MessageHandle

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