【问题标题】:Image in WebView not loadedWebView 中的图像未加载
【发布时间】:2016-12-05 02:32:28
【问题描述】:

由于某种原因,我的 WebView 中的图像未加载。即使在这里尝试了多种解决方案,我也无法弄清楚为什么。请帮我解决这个问题。

我的应用程序 WebView

我的 AVD 浏览器视图

页面链接是here

我的WebViewActivity 班级

public class WebViewActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_webview);

    final WebView webview = (WebView) findViewById(R.id.webView);
    //TextView contentView = (TextView) findViewById(R.id.contentView);


    Intent intent = getIntent();
    String address = intent.getStringExtra("URL");


    webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {

        }
    });


    webview.getSettings().setLoadsImagesAutomatically(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setDomStorageEnabled(true);
    webview.loadUrl(address);


    //textToSpeech.speak("TALK", TextToSpeech.QUEUE_FLUSH, null);


}

}

【问题讨论】:

    标签: java android android-studio webview


    【解决方案1】:

    这是一个 mixed content 问题,因为您在 Web 视图中使用 https 协议时正在调用 http 协议。

    setMixedContentMode(int mode)改变混合内容模式:

    webview.getSettings().
        setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
    

    来自Android docMIXED_CONTENT_COMPATIBILITY_MODE

    与 setMixedContentMode(int) 一起使用 在此模式下,WebView 将尝试与现代 Web 浏览器在混合内容方面的方法兼容。某些不安全的内容可能会被允许由安全源加载,而其他类型的内容将被阻止。允许或阻止的内容类型可能会因版本而异,并且没有明确定义。此模式旨在供无法控制其呈现的内容但希望在相当安全的环境中运行的应用程序使用。为获得最高安全性,建议应用使用 MIXED_CONTENT_NEVER_ALLOW。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多