jpe*_*tto 4 android android-webview webviewclient
似乎WebInClcept方法(如shouldInterceptRequest(),onPageStarted()和shouldOverrideUrlLoading())仅侦听导致WebView加载新页面的URL更改.有没有办法在WebView上检测片段ID的URL更改,即index.html#fragment_id?
我知道这是一个非常古老的问题,但我发现了一个在Stack Overflow中无处可用的解决方案.jpetitto的答案有效,但如果我们使用哈希更改进行路由或其他此类功能,它会混淆javascript.
我发现通过重写方法doUpdateVisitedHistory,WebViewClient我们可以捕获关于哈希变化的url.例如,请参阅下面的代码段.
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.
}
}
Run Code Online (Sandbox Code Playgroud)
注意:此方法在哈希更改和网址更改时触发.
| 归档时间: |
|
| 查看次数: |
2094 次 |
| 最近记录: |