Android webview 가 https 웹 페이지 를 불 러 올 때 그림 을 불 러 올 수 없습니다.

1843 단어 기술 공유
웹 뷰 는 https 웹 페이지 를 불 러 옵 니 다. 안 드 로 이 드 5.0 이상 에서 그림 내용 이 http 이면 불 러 올 수 없습니다.
 
webview 는 Lollipop (5.0) 부터 webview 는 기본적으로 혼합 모드 를 허용 하지 않 습 니 다. https 에 http 자원 을 불 러 올 수 없습니다. 불 러 오 려 면 따로 설정 해 야 합 니 다.
 settings.setBlockNetworkImage(false);
//            ,         ;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            settings.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }

https://front.xiyilang.cc/laundry_test/wx/SlyderAdventuresnew.jsp?sid=a3ea58c419524e649893fbef3a9441cd&ctc=3301
웹 페이지 에서 그림 을 불 러 올 수 없습니다. 일부 디 스 플레이 는
Android webview加载https网页时图片无法加载显示问题_第1张图片
그림 의 연결 은 js 가 배경 에서 요청 한 것 이지 만 표시 되 지 않 습 니 다.웹 뷰 가 페이지 를 불 러 올 때 그림 이 렌 더 링 되 지 않 았 거나 그림 의 연결 이 배경 에서 불 러 오지 않 았 기 때 문 입 니 다.
해결 방법:
1. 돈 을 불 러 올 때 그림 불 러 오 는 것 을 막 습 니 다:
setting.setBlockNetworkImage(true);
2. 웹 뷰 가 sc 스 크 립 트 를 불 러 온 후 그림 을 불 러 오 면 차단 을 해제 합 니 다.
webView.setWebViewClient(new WebViewClient() {

    @Override
    public void onPageFinished(WebView view, String url) {
        settings.setBlockNetworkImage(false);
        //  webview     ,    
        if (!settings.getLoadsImagesAutomatically()) {
            //  wenView      
            settings.setLoadsImagesAutomatically(true);
        }
        super.onPageFinished(view,url);
    }

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

좋은 웹페이지 즐겨찾기