搜尋

首頁  >  問答  >  主體

android - WebView加载天猫等购物网页出问题?

用WebView加载淘宝等一些购物网站时,可以链接到首页,但从首页再点击进入详情页就无法加载,该怎么解决?

巴扎黑巴扎黑2773 天前704

全部回覆(4)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 18:02:58

    感謝個各位的解答,目前已經解決了,不過還是沒有明白原理,希望有朋友能解釋下原因。
    之前設定了這個方法,顯示是過時的,且無法正確載入淘寶天貓等一些購物網站:

    webView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    view.loadUrl(url);
                    return true;
                }
            });

    後面換成了重載的另一個方法就ok了,不過還是希望有朋友能解釋下為什麼?

    @Override
            public 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詳解

    回覆
    0
  • PHPz

    PHPz2017-04-17 18:02:58

    應該是webview不能識別url開頭的tmall,你可以在webview每次加載的時候將其替換成https試試

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:02:58

    這個tamll是喚醒手機天貓APP的,因為預設webview是不支援喚醒任何app的,所以就會出錯。

    如果想子啊當前頁面打開天貓或淘寶
    ,你需要把他的鏈接重新解析,可以看到實際產品的url是問號後面的“url?= ” 可以吧url的值解析在調用webview打開,這個和喚醒一樣都是一處修改的,都是在shouldOverrideUrlLoading,這裡加載url判斷是不是tmall開頭,如果是你就解析如果不是就判斷是不是http或者https開頭,然後加載

    可以看看這篇文章,之間做過喚醒不過找不到程式碼了。

    http://www.jianshu.com/p/fd04...

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 18:02:58

    tmall:// 這個是天貓app專用的跳轉schema協議,你在webview裡肯定是打不開的。

    如果你手機裝了天貓app客戶端,則可以自動喚起app打開該頁面

    回覆
    0
  • 取消回覆