JS 与 UIWebView 交互

最近由于公司需求,需要与h5进行交互,所以做了相关工作,写下这篇文章,让以后有此需求的小伙伴能快速上手,免踩坑

1.首先我创建了一个管理类JSandOCManager ,在.h文件  生成一个代理继承JSExport,在此代理中注入你和h5前端约定好的方法

2.给JSandOCManager加上第一步的代理 代码如下

3.在.m文件里实现方法 可以用代理的方法将响应的结果传送出去 也可以用block的方式 例如

4.回到你的控制器 在webviewDidFinishLoad 方法里注入你的manager

5.响应代理方法 在方法里做你想要干的事情 例如 弹出菊花 在此注意 如果是UI处理 要回到主线程去处理UI


6.如果native 调用JS 可以在代理响应方法里调用JS 也可以回调manager 调用JS


7.到达这一步 基本工作已经完成 不出意外地话 你就可以JS Native 相互调用了   H5前端的调用方式为window.YiZhenJSBridge.showLoading()的方式

由于UIWebView 还存在内存问题  可以webviewDidFinishLoad 方法里添加如下几行代码
//    [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"]

//    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitDiskImageCacheEnabled"];

//    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitOfflineWebApplicationCacheEnabled"];

//    [[NSUserDefaults standardUserDefaults] synchronize];

当然也可以 在delloc 方法里加载一个空链接

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

相关阅读更多精彩内容

友情链接更多精彩内容