gpt4 book ai didi

android - 在 WebView 中监听 URL fragment id 的变化

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:56 24 4
gpt4 key购买 nike

似乎 shouldInterceptRequest()、onPageStarted() 和 shouldOverrideUrlLoading() 等 WebViewClient 方法仅监听导致 WebView 加载新页面的 URL 更改。有没有一种方法可以检测 fragment ID 的 URL 更改,即 WebView 上的 index.html#fragment_id?

最佳答案

我知道这是一个非常古老的问题,但我发现了一个 Stack Overflow 中没有的解决方案。 jpetitto 的答案有效,但如果我们使用散列更改进行路由或其他此类功能,它会弄乱 javascript。

我发现通过重写 WebViewClient 中的方法 doUpdateVisitedHistory 我们可以捕获 url 的哈希变化。例如,请看下面的代码 fragment 。

mWebView.setWebViewClient(new WebViewClient() {

@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
// somecode to run on hash change.
}

}

注意:此方法在哈希更改和 url 更改时触发。

关于android - 在 WebView 中监听 URL fragment id 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26555616/

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