保存 WKWebView (iOS) 的状态



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

我的问题是:如果我想在切换屏幕之间保存WKWebView的状态,我将如何做到这一点?

我最初的想法是将HTMLCSSJavaScript保存到某种本地存储中,并在完全重新加载页面之前使用"缓存"内存重新加载页面。

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

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

你的问题还不够清楚,无论如何让我给你一些建议, 即使您在 5 个 WKWebviews 之间切换,它们的状态也将保持不变,因此无需手动保存状态。

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

实现

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

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