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. javascript - 這不是對象字面量函數嗎?為什么要new初始化?2. sql語句 - mysql中關聯表查詢問題3. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變4. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?5. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。6. html - vue項目中用到了elementUI問題7. javascript - 有什么比較好的網頁版shell前端組件?8. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?9. javascript - [js]為什么畫布里不出現圖片呢?在線等10. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?
