Closed Huiz110 closed 3 years ago
你使用的是哪个方案?另外你使用的是 axios 吗?
使用的是 ajax protocol hook,H5 用的是 axios
可以提供一个测试demo吗?
可以提供一个测试demo吗?
更新到 1.3.9 版本已经没有这个问题了,不过原理还没弄清楚
1.3.9 版本,没开离线缓存的情况下,没有注册 http
及 https
的 scheme
这个请求不会被拦截到,开启离线缓存也只拼接一次参数
1.3.7 版本,这个请求一直会被拦截且拼接 2 次参数
可以提供一个测试demo吗?
更新到 1.3.9 版本已经没有这个问题了,不过原理还没弄清楚 1.3.9 版本,没开离线缓存的情况下,没有注册
http
及https
的scheme
这个请求不会被拦截到,开启离线缓存也只拼接一次参数 1.3.7 版本,这个请求一直会被拦截且拼接 2 次参数
这种情况下,使用 URLProtocol hook 但是没有注册 http
及 https
的 scheme
,会有什么问题吗
不会有问题,就是不能使用离线包了
可以提供一个测试demo吗?
更新到 1.3.9 版本已经没有这个问题了,不过原理还没弄清楚 1.3.9 版本,没开离线缓存的情况下,没有注册
http
及https
的scheme
这个请求不会被拦截到,开启离线缓存也只拼接一次参数 1.3.7 版本,这个请求一直会被拦截且拼接 2 次参数
1.3.9会把 get 的body给清空掉,1.3.7 不会,应该是 get 在body不清除的时候,会追加到url后面
OK,感谢~
再问下这边为什么要加个弹窗呢 @karosLi
加弹框是为了同步调用JSAPI
加弹框是为了同步调用JSAPI
更新版本后,默认开启 cookieGetHook,时不时出现弹窗交互不太友好,这个只能通过关闭这个开关解决吗
你们使用的是自己的WebView吗?
// webView 中的输入框
- (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(nullable NSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSString * _Nullable result))completionHandler {
if (![self canShowPanelWithWebView:webView]) {
completionHandler(nil);
return;
}
// 处理来自 KKJSBridge 的同步调用
if ([self handleSyncCallWithPrompt:prompt defaultText:defaultText completionHandler:completionHandler]) {
return;
}
}
可以在你们自己的WebView里,添加这个代码
// webView 中的输入框
- (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(nullable NSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSString * _Nullable result))completionHandler {
if (![self canShowPanelWithWebView:webView]) {
completionHandler(nil);
return;
}
// 处理来自 KKJSBridge 的同步调用
if ([self handleSyncCallWithPrompt:prompt defaultText:defaultText completionHandler:completionHandler]) {
return;
}
}
可以在你们自己的WebView里,添加这个代码
// 处理来自 KKJSBridge 的同步调用
[self handleSyncCallWithPrompt:prompt defaultText:defaultText completionHandler:completionHandler]
这个里面的具体实现是什么?
用于处理同步请求
H5 碰到发起 GET 请求时,请求参数重复添加 2 次,导致连接错误页面无法展示问题
driverNo
beginTime
endTime
及?
都添加了 2 遍,排查后原因是 H5 发起请求时连接中直接拼接了参数,如果不直接拼接,在添加参数的方法中添加则不会有问题,这个能否优化