之前我问过这个问题,我得到了两个答案:
这里没有简单的答案。 WKWebView无法存档 也没有参与UI状态保存/恢复。您 已经发现了这个。
对于Firefox for iOS,我们采用了不同的方法来解决这些问题 限制。这远非理想,但确实有效。
当我们恢复包含会话信息的标签时(以前访问过的网页) 附加,我们从本地Web服务器加载一个特殊的html页面(运行 在localhost上修改页面的推送状态并推送 以前访问历史堆栈中的URL。
因为这些URL需要来源相同,所以我们基本上推送网址 比如`http://localhost:1234/history/item?url=http://original.url.com
在我们的用户界面中,我们将其翻译为显示original.url.com。当用户 回到历史中加载这些,我们拦截而不是 从localhost加载页面,我们加载原始页面。
这是一个很大的黑客,但这就是我们现在所拥有的一切。
问题是,我下载了适用于iOS的Firefox应用,并测试了它是否还原了一个标签。我发现在关闭应用程序并重新打开它之后,所有内容都将丢失。回去的选择不存在。
这对我和我正在构建的网络浏览器来说是一个大问题。所以,我希望得到第三个答案,一个更好的解决方案。我确实感到乐观,因为已经过去了一年多。
由于性能不佳,不能再使用 UIWebView 。