1. 程式人生 > >Webview/X5WebView載入H5頁面中的圖片不顯示問題

Webview/X5WebView載入H5頁面中的圖片不顯示問題

一、問題描述:在android4.4的手機上是可以顯示H5頁面中的圖片,但測試機為android 6.0,7.0,8.0,就不行。

       我的H5的地址是:https://www.abc.com/new/103

       我的H5中的圖片地址:http://178.156.152.1/dfeafefeadfe.jpg 如下圖

       

二、原因是:Webview在安卓5.0之前預設允許載入混合網路協議內容 * 在安卓5.0之後,WebView預設不允許載入http與https混合內容,需要設定webview允許其載入混合網路協議內容。

解決方法:

1. 使用android自帶的WebView,解決程式碼如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    mWebView.getSettings().setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

2.使用騰訊X5WebView的,我的低版本是(v2.2.0.1056_36542)

在X5WebView(整合時自帶)頁面,

第一步:initWebViewSettings()的方法中新增一行程式碼:

// android 5.0以上允許webView混合網路協議訪問

webSetting.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

第二步:X5WebViewEventHandler 這個類要實現三個空方法 
@Override
    public void jsRequestFullScreen() {

    }

    
​​​​​​​@Override
    public void jsExitFullScreen() {

    }

@Override
public boolean onPermissionRequest(String s, long l, MediaAccessPermissionsCallback mediaAccessPermissionsCallback) {
    return false;
}

或者 更新到最新版本(v3.6.0.1325_43613)

更新新版本我沒有用試。