WebView shouldOverrideUrlLoading功能

Posted 林多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebView shouldOverrideUrlLoading功能相关的知识,希望对你有一定的参考价值。

WebView shouldOverrideUrlLoading功能

  • 最近查了一下WebView WebView shouldOverrideUrlLoading接口的资料,发现网上有很多错误的解释。
  • 这里以WebView(58)为基础,记录一下该接口的功能。

错误解释:阻止调用系统浏览器

  • shouldOverrideUrlLoading接口,并非阻止WebView loadUrl时调用系统浏览器。
  • 若想让WebView loadUrl时,不会调用系统浏览器,需要设置自定的WebViewClient。
    # 设置WebViewClient即可
    webView.setWebViewClient(new WebViewClient());

shouldOverrideUrlLoading接口

  • 该接口,主要是给WebView提供时机,让其选择是否对UrlLoading进行拦截。
  • 关于该接口的返回值,True(拦截WebView加载Url),False(允许WebView加载Url)
  • 以下为官网关于该接口返回值的解释:

If a WebViewClient is provided, returning true causes the current WebView to abort loading the URL, while returning false causes the WebView to continue loading the URL as usual.

 webView.setWebViewClient(new WebViewClient()
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
        // WebView不加载该Url
        return true;
    
);
 webView.setWebViewClient(new WebViewClient()
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
        // WebView加载该Url
        return false;
    
);

以上是关于WebView shouldOverrideUrlLoading功能的主要内容,如果未能解决你的问题,请参考以下文章

想问开了webview有啥用

electron怎么获取到webview里的元素,webview为加载的网站

webview获取网页点击事件

安卓webview是啥东西

如何监听webview加载完成这个事件

我想问一下开了webview有啥用