如何在cordova webview中加载第三方非安全图像?
Posted
技术标签:
【中文标题】如何在cordova webview中加载第三方非安全图像?【英文标题】:How to load third party non-secure images in cordova webview? 【发布时间】:2017-06-26 11:12:51 【问题描述】:我正在尝试在 cordova webview 中从另一个网站加载图像,但出现以下错误
混合内容:“https://www.website.com/”处的页面通过 HTTPS 加载,但请求了不安全的图像“http://www.image-site.com/image.JPG”。此请求已被阻止;内容必须通过 HTTPS 提供。
如何解决?
【问题讨论】:
只需将您的请求更改为https://www.image-site.com/image.JPG
【参考方案1】:
我找到了解决方案;这个想法是在inappbrowser中使用android的MIXED_CONTENT_COMPATIBILITY_MODE
。
您必须编辑文件platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java
并在WebSettings settings = inAppWebView.getSettings();
行旁边添加:
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
这不是一个好的解决方案,因为您正在编辑插件的 src,如果您更新它,您将丢失更改...但它对我有用 ;)
【讨论】:
唯一有效的解决方案。在我的情况下,文件位于platforms\android\app\src\main\java\org\apache\cordova\inappbrowser\InAppBrowser.java以上是关于如何在cordova webview中加载第三方非安全图像?的主要内容,如果未能解决你的问题,请参考以下文章
Android WebView 混合内容未在 api 级别 < 21 中加载