android - WebView加載天貓等購(gòu)物網(wǎng)頁(yè)出問(wèn)題?
問(wèn)題描述
用WebView加載淘寶等一些購(gòu)物網(wǎng)站時(shí),可以鏈接到首頁(yè),但從首頁(yè)再點(diǎn)擊進(jìn)入詳情頁(yè)就無(wú)法加載,該怎么解決?
問(wèn)題解答
回答1:感謝個(gè)各位的解答,目前已經(jīng)解決了,不過(guò)還是沒(méi)有明白原理,希望有朋友能解釋下原因。之前設(shè)置了這個(gè)方法,顯示是過(guò)時(shí)的,且不能正確加載淘寶天貓等一些購(gòu)物網(wǎng)站:
webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true; }});
后面換成了重載的另一個(gè)方法就ok了,不過(guò)還是希望有朋友能解釋下為什么?
@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開(kāi)頭的tmall,你可以在webview每次加載的時(shí)候?qū)⑵涮鎿Q成https試試
回答3:這個(gè)tamll是喚醒手機(jī)天貓APP的,因?yàn)槟J(rèn)webview是不支持喚醒任何app的,所以就會(huì)出錯(cuò)。
如果想子啊當(dāng)前頁(yè)面打開(kāi)天貓或者淘寶,你需要把他的鏈接重新解析,可以看到實(shí)際產(chǎn)品的url是問(wèn)號(hào)后面的 “url?= ” 可以吧url的值解析在調(diào)用webview打開(kāi),這個(gè)和喚醒一樣都是一處修改的,都是在shouldOverrideUrlLoading,這里加載url判斷是是不是tmall開(kāi)頭,如果是你就解析如果不是就判斷是不是http或者h(yuǎn)ttps開(kāi)頭,然后加載
可以看看這篇文章,之間做過(guò)喚醒不過(guò)找不到代碼了。
http://www.jianshu.com/p/fd04...
回答4:tmall:// 這個(gè)是天貓app專用的跳轉(zhuǎn)schema協(xié)議,你在webview里肯定是打不開(kāi)的。
如果你手機(jī)裝了天貓app客戶端,則可以自動(dòng)喚起app打開(kāi)該頁(yè)面
相關(guān)文章:
1. docker - 如何修改運(yùn)行中容器的配置2. dockerfile - [docker build image失敗- npm install]3. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!4. docker綁定了nginx端口 外部訪問(wèn)不到5. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果6. 為什么我ping不通我的docker容器呢???7. docker不顯示端口映射呢?8. nignx - docker內(nèi)nginx 80端口被占用9. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?10. debian - docker依賴的aufs-tools源碼哪里可以找到啊?
