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. 如何解決docker宿主機無法訪問容器中的服務?2. 請問關于 Java static 變量的問題?3. 跨類調用后,找不到方法4. 頁面用CSS3的scale屬性進行了縮放,圖片模糊解決不了,那么字體能否讓它們不模糊呢?5. javascript - 微信IOS頁面中input type=number輸入數字無法顯示,安卓顯示正常6. 淺談vue生命周期共有幾個階段?分別是什么?7. javascript - 動態添加路由報錯8. ios - Crash Log 里關于微信SDK的問題9. javascript - hash為什么可以做路由跳轉,不會刷新頁面10. $( "html" ).parent()方法返回一個包含document的集合,而$( "html" ).parents()返回一個空集合 哪位大神來解釋下?
