WebView 元件為可載入網頁的元件,有時會需要知道 WebView 元件頁面切換的歷史狀態,所以本篇來討論實際作法的概略方向。
比較 Kotlin & Flutter 如何取得 WebView 元件 曾開啟的歷史頁面清單
| Kotlin | Flutter | |
|---|---|---|
WebView 元件名稱 |
WebView |
WebViewWidget |
| 取得曾顯示過的歷史頁面清單集合 | WebView.copyBackForwardList() 會 return WebBackForwardList 物件 |
沒辦法直接取,要自己存,可以在 onPageFinished 頁面載入完成後取得 WebViewController.currentUrl() 目前頁面連結,儲存相關資訊 |
| 取得曾顯示過的歷史頁面清單數量 | WebView.copyBackForwardList().getSize() |
沒辦法直接取,要自己數 |
| 取得指定歷史頁面連結字串 | WebView.copyBackForwardList().getItemAtIndex(index).getUrl() (index 代表由零開始數,是第幾個開啟的頁面) |
要從自己存的集合中取得相關資訊 |
WebView 元件
WebBackForwardList 集合:https://developer.android.com/reference/android/webkit/WebBackForwardListWebBackForwardList 集合子元素類別 - WebHistoryItem https://developer.android.com/reference/android/webkit/WebHistoryItem#getUrl()
WebView 元件
WebViewWidget 元件:https://pub.dev/documentation/webview_flutter/latest/webview_flutter/WebViewWidget-class.htmlWebViewController class: https://pub.dev/documentation/webview_flutter/latest/webview_flutter/WebViewController-class.html