图片上的弹框是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) {
}
网友评论