【问题标题】:Android WebView navigating event?Android WebView 导航事件?
【发布时间】:2014-05-09 09:01:31
【问题描述】:

我正在寻找相当于 WPF WebBrowser 的“导航”事件或 IOS UiWebView 的“ShouldStartLoad”的 Android WebView 事件。

找到了“shouldOverrideUrlLoading”,但是不知道怎么用,因为构造函数需要一个URL……

我想在导航前截取Url,取消部分URL的导航...

我在 Visual Studio 中使用 Xamarin。

WPF 等效项:

webBrowser.Navigating += WebBrowserNavigating;

private void WebBrowserNavigating(object sender, NavigatingEventArgs e)
    {
        if (//condition)
        e.Cancel = true;
        //Do something else
    }

【问题讨论】:

    标签: android navigation xamarin android-webview


    【解决方案1】:

    是的,您应该使用 shouldOverrideUrlLoading 方法。这个方法是自动调用的,不用担心参数。 为了使用这个方法,你必须先创建一个这样的 WebViewClient:

    private class HelloWebViewClient extends WebViewClient {
    
         @Override
       public boolean shouldOverrideUrlLoading(WebView view, String url) {
             ...
          }
    }
    

    然后,将其设置为 WebViewClient:

    webview.setWebViewClient(new HelloWebViewClient());
    

    当调用 shouldOverrideUrlLoading 方法时,您将通过参数接收 WebView 和要加载的 URL。

    【讨论】:

    • 感谢您的回答!我还有一个问题:是否有等效于“UIWebView.EvaluateJavascript”或“WebBrowser.InvokeScript”?
    • 有这个方法:webview.getSettings().setJavaScriptEnabled(true);但我不认为这是一回事
    • @Gab 我也在为 xamarin 表单 webview 导航方法获取响应令牌在 androdi 中成功获取响应令牌的地方而苦苦挣扎,但在 iOS 中,我只有在单击登录后才会传递 URL 值。有什么问题。你有解决方案吗让你告诉我
    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2020-02-07
    • 2012-03-15
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多