首页 > 解决方案 > 某些网站图像未显示在 android 的 webview 中

问题描述

我正在尝试通过 Android 的 webview加载网站( http://www.mdzaika.com/ )。但是有些图像没有显示在 webview 中。

这个问题我在某个特定网站上看到过,我试过不同的网站,没有看到这个问题。

MainActivity.java

public class MainActivity extends AppCompatActivity {

...

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
setContentView(R.layout.mdzaika_layout);
browser = findViewById(R.id.webview);
splashImage = findViewById(R.id.splashScreen);
progressBar = findViewById(R.id.progressBar);
browser.setWebViewClient(new MDZaikaBrowser());
WebSettings webSettings=browser.getSettings();
webSettings.setJavaScriptEnabled(true);
browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setLoadsImagesAutomatically(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
  webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

browser.loadUrl("http://www.mdzaika.com/");
}

MDZaikaBrowser.java

private class MDZaikaBrowser extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    Log.d(TAG, "progress bar Visible. Url = " + url);
    progressBar.setVisibility(View.VISIBLE);
    return true;
}

@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

    view.loadUrl(request.getUrl().toString());
    return true;
}

@Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    splashImage.setVisibility(View.GONE);
    browser.setVisibility(View.VISIBLE);
    progressBar.setVisibility(View.GONE);
}

@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    super.onReceivedError(view, request, error);
    Toast.makeText(getApplicationContext(), R.string.no_internet_error_msg, Toast.LENGTH_SHORT).show();
    if (splashImage.getVisibility() == View.VISIBLE)
        finish();
    else
        view.loadUrl("about:blank");
}


}
}

我期望显示移动浏览器中显示的所有图像。但有些图像显示不正确。

标签: javaandroidwebview

解决方案


i don't know what is the problem , but i'm sure it's not coming from you , i tested the website on my chrome in laptop and pressed F12 button, and open device toolbar , the website is shown as the picture you mentioned in all devices , try it yourself !

so i i'm pretty sure the problem is coming from the website !

enter image description here


推荐阅读