Closed dhui68 closed 4 years ago
KKJSBridgeAjaxURLProtocol的 +canInitWithRequest:,当return NO的时候,恰好该请求为POST这类请求,body丢失,这中情况-startLoading方法不会执行的,取不到缓存body的, 针对这场景,我尝试在WKWebView的decidePolicyForNavigationAction:的方法里进行KKJSBridgeRegisterScheme 和 KKJSBridgeUnregisterScheme,WKWebView在iOS13.5.1不起作用,有兼容问题。 解决方案:把取缓存步骤提前到+canInitWithRequest:方法里,判断request为NSMutableURLRequest时,赋值body 或者您有其他更好的思路?
即使是放在+canInitWithRequest:里,像你描述的,是返回NO,那说明没有body缓存,那提前到这个方法重新赋值body也是有问题的。应该还是要从源头解决,所以你是哪类 POST 请求没有拦截到?
KKJSBridgeAjaxURLProtocol的 +canInitWithRequest:,当return NO的时候,恰好该请求为POST这类请求,body丢失,这中情况-startLoading方法不会执行的,取不到缓存body的, 针对这场景,我尝试在WKWebView的decidePolicyForNavigationAction:的方法里进行KKJSBridgeRegisterScheme 和 KKJSBridgeUnregisterScheme,WKWebView在iOS13.5.1不起作用,有兼容问题。 解决方案:把取缓存步骤提前到+canInitWithRequest:方法里,判断request为NSMutableURLRequest时,赋值body 或者您有其他更好的思路?