android WebView加载h5网站嵌到淘宝链接页面报错问题

在Android混合开发中,使用WebView加载H5网站时,当点击按钮打开淘宝等第三方链接,应用会出现错误。问题源于WebView无法处理非HTTP开头的特殊链接,如`taobao://`。解决方法是过滤请求并在WebView中设置WebViewClient。通过拦截并处理这些特殊链接,避免浏览器报错。
摘要由CSDN通过智能技术生成

WebView加载h5网站嵌到淘宝链接页面报错问题

android混合开发,使用WebView嵌套h5网站。在h5
网站中放了一个按钮。点击按钮会打开第三方链接。如:淘宝,京东,拼多多等。这时候app就会报一个错误。图如下:
在这里插入图片描述
淘宝的就是taobao://什么的,京东,类似。

解决方案:
网上好多的解读是说要让webview使用WebChromeClient这种方式。
但是我自己的已经是这个模式了。问题还没解决。后来我又想到问题是点击按钮出现。页面好像不归webview管

直到后来看到https://www.jianshu.com/p/119823e5cfb5 简书上这位作者写 的。webview就好像是我们浏览器,虽然按钮打开页面的操作是在h5里面的,但是所有的请求都会经过webview,一些特殊的请求如“淘宝,京东” 他们打开以后页面会自动执行一个唤起手机app的链接。这个链接不是http打头的。浏览器不能识别就会报错。
这时候就需要过滤请求。

    //拦截请求。过滤特殊请求。
    public WebViewClient webViewClient = new WebViewClient() {

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

            // 不要使用super,否则有些手机访问不了,因为包含了一条 handler.cancel()
        
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值