android - WebView加载天猫等购物网页出问题?
问题描述
用WebView加载淘宝等一些购物网站时,可以链接到首页,但从首页再点击进入详情页就无法加载,该怎么解决?
问题解答
回答1:感谢个各位的解答,目前已经解决了,不过还是没有明白原理,希望有朋友能解释下原因。之前设置了这个方法,显示是过时的,且不能正确加载淘宝天猫等一些购物网站:
webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true; }});
后面换成了重载的另一个方法就ok了,不过还是希望有朋友能解释下为什么?
@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(request.toString()); return true;}
也可以直接复写下面方法
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); }
找了篇文章WebView详解
回答2:应该是webview不能识别url开头的tmall,你可以在webview每次加载的时候将其替换成https试试
回答3:这个tamll是唤醒手机天猫APP的,因为默认webview是不支持唤醒任何app的,所以就会出错。
如果想子啊当前页面打开天猫或者淘宝,你需要把他的链接重新解析,可以看到实际产品的url是问号后面的 “url?= ” 可以吧url的值解析在调用webview打开,这个和唤醒一样都是一处修改的,都是在shouldOverrideUrlLoading,这里加载url判断是是不是tmall开头,如果是你就解析如果不是就判断是不是http或者https开头,然后加载
可以看看这篇文章,之间做过唤醒不过找不到代码了。
http://www.jianshu.com/p/fd04...
回答4:tmall:// 这个是天猫app专用的跳转schema协议,你在webview里肯定是打不开的。
如果你手机装了天猫app客户端,则可以自动唤起app打开该页面
相关文章:
1. python相关问题求解决,有偿2. javascript - input输入框触发change事件后,外部元素会被选中3. python - 用__call__ 实现装饰器功能4. javascript - 把字符串日期转换成一般时间格式后,发现小于10的数字不会自动添加0在前面,如下5. javascript - 在sublime中如何给.vue文件注释?6. javascript - js判断一个数组是否重复7. python - 请问用cxfreeze打包的可执行程序能反编译出源码么?8. javascript - vue2.0中router.repalce跟router.push有什么区别,二者的应用场景是会有怎样的区别?9. javascript - 这种上传图片预览怎么做?10. javascript - prismplayer播放器全屏问题