karosLi / KKJSBridge

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

在 iOS14.x 版本中出现了 localstorage 不同步的问题 #85

Open DarrenKong opened 9 months ago

DarrenKong commented 9 months ago

在 iOS14.x 版本中出现了这个问题。

我们在 App 中,从一个 Webview 中打开了另一个 Webview,然后在第二个 Webview 中对 localstorage 进行了修改,但是关闭第二个 Webview 返回到第一个Webview,没有读取到改变之后的内容,还是原来的值。

后来调整了 KKJSBridge 源码中,关于 WKProcessPool 相关代码的位置,问题得以解决。 将如下代码从 KKWebView 移到 WebViewController 中,同时将 processPool 的引用移到 makeWebViewConfiguration 中。

+ (WKProcessPool *)processPool {
    static WKProcessPool *pool;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        pool = [[WKProcessPool alloc] init];
    });

    return pool;
}