gpt4 book ai didi

javascript - Android WebView canGoBack 始终为真

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:45 27 4
gpt4 key购买 nike

我有一个正在加载社交媒体页面的 WebView。我已经覆盖了返回按钮以调用 WebView 上的 goBack 方法,直到 canGoBack() 返回 false。然后调用 super.onBackPressed()。问题是 Twitter 和 YouTube 使用 Javascript 的方式使得 canGoBack() 返回 true 除非你非常快地点击后退按钮 4 次。

我已经尝试用当前 url 检查原始 url,但该页面的 url 与传入的 url 不同。

有谁知道让后退按钮调用 WebView 的 goBack 方法直到开始,然后调用 super.onBackPressed 的方法?

最佳答案

嗯,这并不理想,但您可以通过使用数组(或只是一个要增加和减少的整数)手动跟踪导航历史记录,并在每次更改时将当前 url 推送到其中,并在每次更改时从中弹出最后一个 url您按下后退按钮,如果数组为空(或整数为 0),则调用 super.onBackPressed()
要在 url 更改时执行代码,您可以覆盖方法 boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request) WebViewClient ( link to the documentation ).
这样网页的 javascript 就不会干扰您处理后退按钮的方式。

关于javascript - Android WebView canGoBack 始终为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621192/

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