保存 WKWebView 的状态 (iOS)

Save the state of a WKWebView (iOS)

我目前正在开发一个同时具有多个 WKWebViews 运行 的应用程序,想想浏览器中的选项卡,但似乎如果我有大约 5 个 WKWebView 实例运行 其中至少有一个会在某个时候变成空白并显示白屏。我确信这与我无法控制的后台内存管理有关。

我的问题是:如果我想在切换屏幕之间保存 WKWebView 的状态,我该怎么做?

我最初的想法是将 HTMLCSSJavaScript 保存到某种本地存储,然后使用之前的 "cached" 内存重新加载页面重新加载页面。

我一直在查看 Chrome 的开源项目,他们似乎在用 Objective-C++ 做一些事情,但我不确定为什么。

如果有人对此有任何想法或知识,将不胜感激,谢谢!

你的问题还不够清楚,总之我给你提点建议吧, 即使您在 5 个 WKWebview 之间切换,它们的状态将保持不变,因此无需手动保存状态。

关于加载时的普通网页问题:

实施,

- (void)webView:(WKWebView *)webView 
didFailProvisionalNavigation:(WKNavigation *)navigation 
      withError:(NSError *)error;

在此方法中,每当加载失败时重新加载 webview。