Я пытаюсь загрузить веб-сайт (http://www.mdzaika.com/) через веб-просмотр Android. Но некоторые изображения не отображаются в веб-просмотре.
Проблема Iвидел на определенном веб-сайте, я пытался на другом веб-сайте, эта проблема не была замечена.
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");
}
}
}
Я ожидаю отображения всех изображений, как показано в мобильном браузере, но некоторые изображения отображаются неправильно.