karosLi / KKJSBridge

一站式解决 WKWebView 支持离线包,Ajax/Fetch 请求,表单请求和 Cookie 同步的问题 (基于 Ajax Hook,Fetch Hook 和 Cookie Hook)
MIT License
693 stars 120 forks source link

原生WKWebview如何使用KKJSBridge实现资源拦截 #58

Closed chenzufeng closed 3 years ago

chenzufeng commented 3 years ago

项目计划使用WKWebview,想拦截请求做离线加载。但拦截后遇到请求body丢失问题。 1、请教下原生WKWebview如何最小代价使用KKJSBridge实现拦截? 2、项目已使用Cordova和H5做通信,会和kkjsbridge冲突吗? ps: 总的述求就是不使用kkjsbridge通信能力,也不关心cookie问题,仅仅做请求拦截并加载本地资源。

karosLi commented 3 years ago

1、KKJSBridge 的请求拦截能力就是基于 KKJSBridge 通信能力,是不能拆分的 2、你们项目已使用 Cordova 和 H5 做通信,这个你可以看做是 H5 通过 JS API 去调用原生的能力。这个跟 KKJSBridge 不冲突 3、WKWebview 最小化拦截,demo 里已经体现了,你可以看看

chenzufeng commented 3 years ago

好的,谢谢

chenzufeng commented 3 years ago

再问下,KKJSBridge/AjaxHook是不是不支持资源拦截? demo中改为KKJSBridge/AjaxHook后,HtmlURLProtocol就拦不到静态资源了。 KKJSBridge/AjaxProtocolHook是可以的。

karosLi commented 3 years ago

都支持的。只不过 KKJSBridge/AjaxHook 需要自己去注册 http 协议才行,demo 里没有表示出来,现在补充了。 image