【发布时间】:2010-12-09 09:05:18
【问题描述】:
当用户点击 html 按钮时是否有可能拦截?我有一个 webviewclient,它使用两个按钮加载登录页面。允许和拒绝。我想在按下拒绝按钮时拦截。 (拒绝和允许有相同的 basUrl 和一个 js 做正确的重定向)。
提前致谢
【问题讨论】:
标签: android webview webviewclient
当用户点击 html 按钮时是否有可能拦截?我有一个 webviewclient,它使用两个按钮加载登录页面。允许和拒绝。我想在按下拒绝按钮时拦截。 (拒绝和允许有相同的 basUrl 和一个 js 做正确的重定向)。
提前致谢
【问题讨论】:
标签: android webview webviewclient
您可能没有收到 shouldOverrideUrlLoading() 的回调,因为只有在用户触发导航时才会调用它 - 如果您使用 jquery/javascript 或其他类型的重定向,则不会调用它。
如果您可以控制该网页,您可以添加一个 JavaScriptInterface 来回调您的 Android 应用程序并按照您喜欢的方式处理它:http://developer.android.com/guide/webapps/webview.html#BindingJavaScript
使用 JSI,您只需在应用中注册一个函数,然后在页面的 javascript 中调用它。
如果您无法控制网站,如果您熟悉网页的结构/DOM,仍然可以自己注入 javascript。
【讨论】:
听起来像是实施WebViewClient.shouldOverrideUrlLoading() 的案例,确定吗?
【讨论】: