OC和Web交互

项目需求是  点击网页的返回,返回到原生APP,所以要截获网页的返回事件。

原理是和网页端协议好一个URL(字符串),具体格式就随便定义啦

在手机上点击H5的返回按钮时web会把这个协商好的URL传给OC,OC有一个uiwebview的代理方法可以截获H5的所有JS事件,所以我们要写UIwebview的代理事件并遵循协议,在协议方法里过滤其他事件只取返回事件,然后在返回事件里实现返回原生APP的功能。

上代码:web那边就这么写

web

iOS这边就这么写


设置代理


遵循代理


在代理方法中实现返回功能

第二个需求是,导航栏是原生的,点击H5某一按钮跳转到H5的下级界面后,点击导航栏的返回,直接反到原生APP的上级界面而不是H5的上级界面,这肯定是不符合逻辑的。正确的应该是点击导航栏的返回,先返回H5的首界面,再次点击才返回原生APP的上级界面。解决方法如下:


完美!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容