2017-05-19 80 views
1

我有一個wkwebview我將切換標籤加載不同的URL說,URLl1,URL 2和URL 3Wkwebview - 最後訪問屏幕

考慮場景:

  1. 在第一個帶有URL 1的選項卡,點擊鏈接或執行某些操作,然後轉到第二個帶有URL 2的選項卡。

  2. 當回到URL 1的第一個選項卡時,我需要從我離開的地方關閉。

回答

0

在結構上會更有意義分配每個選項卡WKWebView,當您更改標籤加載相關的URL。您可以使用以下截取導航:

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

並從WKNavigationAction對象中獲取請求。使用請求來加載另一個WKWebView中的URL。

讓每WKWebView管理自己的歷史堆棧。餅乾應在整個WKWebViews以及被共享,所以使用多個WKWebView應該不存在問題。

+0

我的目的不是使用每個web視圖爲每個選項卡,我們可以有更多的選項卡。另外,我不希望在每次切換標籤頁時加載URL。有沒有辦法在所有緩存或完全保存webarchive和本地加載它,當我們回來點擊同一選項卡再次 –

+0

WKWebView設計在我上面指定的方式使用。它有自己的過程,並且如果其內存超速,系統可以自動將其從內存中卸載。至於緩存網頁和重新加載,確保您可以保存並重新加載整個頁面,但爲什麼?當您返回到之前的選項卡時,之前的網頁內容仍將保留在那裏。 – Michael

+0

謝謝。我明白你的觀點。另一方面,正如你所提到的那樣,緩存網頁並重新加載它的最佳方式是什麼? –