android - WebView加載天貓等購(gòu)物網(wǎng)頁(yè)出問題?
問題描述
用WebView加載淘寶等一些購(gòu)物網(wǎng)站時(shí),可以鏈接到首頁(yè),但從首頁(yè)再點(diǎn)擊進(jìn)入詳情頁(yè)就無法加載,該怎么解決?
問題解答
回答1:感謝個(gè)各位的解答,目前已經(jīng)解決了,不過還是沒有明白原理,希望有朋友能解釋下原因。之前設(shè)置了這個(gè)方法,顯示是過時(shí)的,且不能正確加載淘寶天貓等一些購(gòu)物網(wǎng)站:
webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true; }});
后面換成了重載的另一個(gè)方法就ok了,不過還是希望有朋友能解釋下為什么?
@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { view.loadUrl(request.toString()); return true;}
也可以直接復(fù)寫下面方法
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); }
找了篇文章WebView詳解
回答2:應(yīng)該是webview不能識(shí)別url開頭的tmall,你可以在webview每次加載的時(shí)候?qū)⑵涮鎿Q成https試試
回答3:這個(gè)tamll是喚醒手機(jī)天貓APP的,因?yàn)槟J(rèn)webview是不支持喚醒任何app的,所以就會(huì)出錯(cuò)。
如果想子啊當(dāng)前頁(yè)面打開天貓或者淘寶,你需要把他的鏈接重新解析,可以看到實(shí)際產(chǎn)品的url是問號(hào)后面的 “url?= ” 可以吧url的值解析在調(diào)用webview打開,這個(gè)和喚醒一樣都是一處修改的,都是在shouldOverrideUrlLoading,這里加載url判斷是是不是tmall開頭,如果是你就解析如果不是就判斷是不是http或者h(yuǎn)ttps開頭,然后加載
可以看看這篇文章,之間做過喚醒不過找不到代碼了。
http://www.jianshu.com/p/fd04...
回答4:tmall:// 這個(gè)是天貓app專用的跳轉(zhuǎn)schema協(xié)議,你在webview里肯定是打不開的。
如果你手機(jī)裝了天貓app客戶端,則可以自動(dòng)喚起app打開該頁(yè)面
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. docker - 如何修改運(yùn)行中容器的配置3. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.4. nignx - docker內(nèi)nginx 80端口被占用5. python3.x - python連oanda的模擬交易api獲取json問題第五問6. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?7. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實(shí)現(xiàn)的?8. javascript - webpack熱加載配置不生效9. java - SSH框架中寫分頁(yè)時(shí)service層中不能注入分頁(yè)類10. java - instance method中 static后的<K>是什么意思?
