我正在寻找相当于"导航"的Android WebView事件。 WPF WebBrowser的事件,或者#34; ShouldStartLoad" IOS UiWebView。
我发现" shouldOverrideUrlLoading",但我不知道如何使用它,因为构造函数需要一个URL ......
我想在导航之前拦截Url,并取消某些网址的导航...
我在Visual Studio中使用Xamarin。
等效的WPF:
webBrowser.Navigating += WebBrowserNavigating;
private void WebBrowserNavigating(object sender, NavigatingEventArgs e)
{
if (//condition)
e.Cancel = true;
//Do something else
}
答案 0 :(得分:6)
是的,您应该使用 shouldOverrideUrlLoading 方法。此方法会自动调用,因此您不必担心参数。 要使用此方法,您必须首先创建一个WebViewClient,如下所示:
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
...
}
}
然后,将其设置为WebViewClient:
webview.setWebViewClient(new HelloWebViewClient());
当调用 shouldOverrideUrlLoading 方法时,您将通过参数接收WebView和将要加载的URL。