gpt4 book ai didi

android - 如何仅在 webview 历史记录中返回到非空白页面?

转载 作者:太空狗 更新时间:2023-10-29 16:05:53 26 4
gpt4 key购买 nike

我曾经使用 onPageFinished 来跟踪 webview 历史:

@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if ("about:blank".equals(url) && view.getTag() != null){
view.loadUrl(view.getTag().toString());
}else{
view.setTag(url);
}
}

现在,当我尝试 view.goBack() 时,它返回到 about:blank 而不是我想要的页面。

我如何设置“about:blank” url 以便将其放入 webview 历史记录中,这样当我返回时就不会再看到它。但我不想要 view.clearHistory(),因为它会删除所有历史记录。

最佳答案

好吧,假设您想回到历史记录,直到找到第一个非 about:blank方法如下:

在你的 Activity 中

 public void goBackInWebView(){
WebBackForwardList history = webView.copyBackForwardList();
int index = -1;
String url = null;

while (webView.canGoBackOrForward(index)) {
if (!history.getItemAtIndex(history.getCurrentIndex() + index).getUrl().equals("about:blank")) {
webView.goBackOrForward(index);
url = history.getItemAtIndex(-index).getUrl();
Log.e("tag","first non empty" + url);
break;
}
index --;

}
// no history found that is not empty
if (url == null) {
finish();
}

代码逻辑是循环抛出之前的所有页面。并且首先没有空页面加载它。如果没有找到完成应用程序。

关于android - 如何仅在 webview 历史记录中返回到非空白页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com