iOS WKWebView JS 调用OC代码,添加token到请求头中,将本地token同步到WK浏览器中

项目需求:有一个邀请有礼页面,说白了就是一个h5的分享页面,上面有一个按钮,点击此按钮,前端会自己调用后台接口,记录是谁点击分享了,

实现:

使用 WKWebView ,#import   <WebKit/WebKit.h> 

添加代理,WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler  事实证明WKScriptMessageHandler 没有作用

1:将token添加到请求头中,下面是wk设置的全部配置                                                  

图1

2:需要在wkwebview 加载完成时,需要把方法注入进去,注意下图中的callShareSdk ,这个是前端的调用方法,不能写错了,需要iOS这里注入。

图2

3:再来解释图1 中    token=6ba9f4d0f68d4bf1adb803983bf0f211; path=/; domain=192.168.1.11; HttpOnly  这句话的意义,这个句话是个固定格式,在iOS端需要将本地token传到浏览器内核中,需要这种格式,不然,仅仅是addvalue,,,,forHTTPHeaderField:,,,这样其实是没用的,token=你从后台拿到的token,domain=你的ip,注意没有http://,其余格式是固定格式,复制粘贴就行。

4: 下图 ,在代理方法中直接判断是不是点击的分享按钮,通过这个代理方法即可获取到你点击按钮到方法是不是需要分享按钮的方法。(callShareSDK)是跟前端约定好的分享按钮方法,

图三

5:搞定,如有不足指出,请大神指点。整个项目就两个代理方法,一个是方法注入的代理方法,一个是判断是不是点击分享按钮的方法。也就是图二和图三

欢迎加入 iOS-OC&Swift交流群 群号:529765630(顺便打个广告,我们的app名字:meetfit-约健), 欢迎任何技术爱好者和iOS开发者进群交流学习。

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

推荐阅读更多精彩内容