#android #webview #href
Вопрос:
Я знаю, как обнаружить, что пользователь нажимает на ссылку внутри WebView
:
binding.webview.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
println("shouldOverrideUrlLoading: ${request?.url?.toString()}")
//do whatever and return false if we don't want the link to be launched
return false
}
}
но это не работает для ссылок на одну и ту же страницу, например:
<a href="#tabpanel-size-guide-1">
Size guide
</a>
Я предполагаю, что это связано с тем, что ссылки на ту же страницу не загружают новый URL-адрес, а затем это событие shouldOverrideUrlLoading
не запускается.
Итак, мой вопрос: есть ли способ обнаружить переходы пользователей по такого рода ссылкам?
Комментарии:
1. Попробуйте вместо этого использовать shouldInterceptRequest, вы правы насчет shouldOverrideUrlLoading, он не сработает в том же домене.
2. Спасибо @javdromero, к сожалению, я уже пробовал, и это не работает. Он перехватывает звонки, чтобы получить другие ресурсы, такие как favicon.