iOS - H5和原生交互

一、UIWebView

1.JS调用原生方法
    通过 shouldStartLoadWithRequest 代理方法进行拦截指定字符串进行交互

2.JS给原生传值  原生给JS传值
    和Web端协商好,然后定义一个遵循JSExport的代理A,再通过 JSContext 进行
传值操作<self.jsContext[@"WTK"] = self; 再实现A的代理方法<share:方法>
从JS拿值;再通过callWithArguments传给JS值>
图片.png
3.原生传值给JS  也可以通过 stringByEvaluatingJavaScriptFromString 进行传值;
图片.png

二、WKWebView

1.添加 ScriptMessageHandler [configuration.userContentController 
addScriptMessageHandler:self name:@"Location"];

2.在didReceiveScriptMessage代理方法中根据message.name去判断拦截,从而
达到 JS调用原生方法;message.body 则是JS 传值给原生的途径;

3.通过 evaluateJavaScript 方法 实现原生向 JS 传值; 
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容