Wkwebview – 上次访问过的屏幕

我有一个wkwebview,我将在选项卡之间切换以加载不同的URL,例如URLl1,url 2和URL 3。

考虑一下场景:

  1. 在带有URL 1的第一个选项卡中,单击链接或执行某些操作,然后转到带有URL 2的第二个选项卡。

  2. 当回到带有URL 1的第一个选项卡时,我需要从我离开的位置完全加载网页。

从架构上讲,为每个选项卡分配WKWebView更有意义,并在更改选项卡时加载相关的URL。 您可以使用以下方法拦截导航:

(void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler; 

并从WKNavigationAction对象获取请求。 使用该请求在另一个WKWebView中加载URL。

让每个WKWebView管理自己的历史堆栈。 Cookie也应该在WKWebViews之间共享,因此使用多个WKWebView不会出现问题。