Closed FoneG closed 3 years ago
可以同时注册的,demo 里都可以拦截到,不知道你们代码里是不是有什么逻辑移除了其他protocol的注册了
把H5链接放到demo中试了确实可以走KKJSBridgeAjaxURLProtocol获取到body。然后对比2边的区别后,发现把HtmlURLProtocol的注册逻辑放到KKJSBridgeAjaxURLProtocol之前就可以。
关于两个URLProtocol的前后调用顺序难道会决定请求的拦截逻辑吗,ps: 另外很好奇,同时注册,ajax请求为什么只有在KKJSBridgeAjaxURLProtocol才能拦截
是的,一定要确保自己的 HtmlURLProtocol 在 KKJSBridge 之前注册,以为后注册的先执行。
KKJSBridgeAjaxURLProtocol 做了 requestId 判断的,所以才能拦截到
明白了。感谢作者的解答
场景:初始化webView后同时注册KKJSBridgeAjaxURLProtocol和MBHtmlURLProtocol,并开启enableAjaxHook开关,实现ajaxDelegateManager外部代理。这个时候发现没有KKJSBridgeAjaxURLProtocol逻辑,抓包果然发现body丢失了。
想请问如果想实现离线包方案,应该怎么使用 KKJSBridgeAjaxURLProtocol和MBHtmlURLProtocol