Closed FoneG closed 3 years ago
KKJSBridge的防止body丢失的能力,本身是跟 KKWebView 独立使用的。
第三放使用的 WKWebView,那他们自己的 SDK 里肯定也不会调用你的代码,就算集成了 KKJSBridge 也处理不了 body 丢失。 这个时候,你应该自己主动禁用离线包的能力,退出广告后再恢复。
实际环境更复杂
有些三方服务打开WKWebView的事件并不是外部能直接监听的,这就没办法说做到【主动禁用离线包的能力,退出广告后再恢复】,一旦没拦截就会出现异常
并且三方服务的导入是无止境的,不能说离线包业务就这样持续地影响以后的开发
那你如果想拦截三方,那就 HOOK WKWebView,在里面开启 ajax hook
是的 还可以把WKNavigationDelegate、WKUIDelegate的逻辑也切出来,就不需要考虑跟其他bridge实现冲突的问题 为什么不考虑这么做呢
是的。针对第三方确实可以利用分类来做。你有兴趣提个PR吗?
当然 如果搞定的话 我会选择提个PR
项目中接了三方广告商, 使用的是WKWebView,用browsingContextController的注册逻辑后导致他们正常的post请求丢失了body。
为了兼容直接使用WKWebView的情况, 把KKWebView逻辑拆成分类会不会更合理