某些网站图片未显示在android的webview中

时间:2019-06-10 02:28:15

标签: java android webview

我正在尝试通过Android的Web视图加载网站( http://www.mdzaika.com/ )。但是某些图像未显示在网络视图中。

我在特定网站上看到的问题,我尝试过在其他网站上看到的问题,

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");
}


}
}

我希望显示所有图像,如移动浏览器中所示。 但是有些图像显示不正确。

2 个答案:

答案 0 :(得分:1)

我不知道问题出在哪里,但我确定不是您遇到的,我在笔记本电脑上的chrome浏览器中测试了该网站,然后按了 F12 按钮,然后打开设备工具栏,该网站显示为您在所有设备中提到的图片,请自行尝试!

所以我很确定问题是来自网站!

enter image description here

答案 1 :(得分:1)

我使用Chrome inspect遇到相同的问题:

enter image description here

并查看CSS,将内容设置为Unicode字符f103

enter image description here 这是一个盒子:

https://unicode-table.com/en/search/?q=f101

是的,请检查网站CSS文件以了解为什么。