android 的网页视图中未显示某些网站图片
Some website images are not showing in the webview of the android
我正在尝试通过 Android 的网络视图加载网站(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");
}
}
}
我希望在移动浏览器中显示所有图像。
但是部分图片显示不正确
我不知道是什么问题,但我确定这不是你的问题,我在 chrome 的笔记本电脑上测试了该网站并按了 F12 按钮,然后打开设备工具栏,网站在所有设备中都显示为您提到的图片,您自己试试吧!
所以我很确定问题出在网站上!
我使用 Chrome inspect:
遇到同样的问题
并查看 CSS 它正在将该内容设置为 unicode 字符 f103
:
这是一个盒子:
https://unicode-table.com/en/search/?q=f101
所以,是的,请查看网站 CSS 文件了解原因。
我正在尝试通过 Android 的网络视图加载网站(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");
}
}
}
我希望在移动浏览器中显示所有图像。 但是部分图片显示不正确
我不知道是什么问题,但我确定这不是你的问题,我在 chrome 的笔记本电脑上测试了该网站并按了 F12 按钮,然后打开设备工具栏,网站在所有设备中都显示为您提到的图片,您自己试试吧!
所以我很确定问题出在网站上!
我使用 Chrome inspect:
遇到同样的问题并查看 CSS 它正在将该内容设置为 unicode 字符 f103
:
https://unicode-table.com/en/search/?q=f101
所以,是的,请查看网站 CSS 文件了解原因。