安卓webview加载H5页面,使H5页面中的超链接(a标签)无响应

安卓webview加载H5页面,使H5页面中的超链接(a标签)无响应。

问题产生的原因: H5页面中的超链接在浏览器、ios App中均能打开,但嵌入android App中点击无反应。

解决方案:
1、在android App中配置一下,网上大部分解决方案如下:

WebView tabContent = new WebView(context);  
    tabContent.loadDataWithBaseURL(null, content, "text/html", "UTF-8", null);  
    tabContent.setWebViewClient(new WebViewClient(){  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                  
            return true;  
        }  
              
    });  
    return tabContent; 

当一个新的url要在当前WebView进行加载的时候,这个方法给应用一个机会来控制url的处理。如果WebView没有setWebViewClient,则默认操作是WebView将询问Activity Manager获取合适的handler处理url。如果WebView设置了setWebViewClient,返回true代表当前应用来处理url,返回false则代表当前webview来处理url(如果http请求是POST方法,该方法将不会被调用)

2、我的解决方案
跟安卓开发约定一个标志变量(固定不变),写在<a>标签中的href中,例如:

<a href="https://www.baidu.com?flag='123456'">

安卓开发在shouldOverrideUrlLoading中对该标志变量进行处理(采用此方法是因为shouldOverrideUrlLoading中return true无效果,具体原因不详)。

本人是web前端开发,不了解android开发,如有问题烦请赐教,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值