问题:我有一个网站,我试图在Android WebView中显示。文字显得很好,但图片似乎是空白的。经过进一步调查后,该站点使用Amazon S3存储空间上的图像存储。然后每次从加载页面的服务器检索图像。任何帮助将不胜感激,代码和图片如下。
图片:
在浏览器中
在App中
尝试调试WebView活动的代码。请注意,这是我第一次使用Android Webview的chrome调试。我现在把它缩小到个人资料图片代码,看看发生了什么。代码中的个人资料图片显示精美,但图片本身并未显示。代码如下:
<div class="profile-photo pull-right"><img src="http://realzim.s3.amazonaws.com/file/user/realzim/India/25/user_image/1440307265.jpg" width="55" height="55" class="img-thumbnail"></div>
错误代码:
Mixed Content: The page at 'https://www.realzim.com/mobile/' was loaded over HTTPS, but requested an insecure image 'http://realzim.s3.amazonaws.com/file/user/realzim/India/25/user_image/1440307265.jpg'. This request has been blocked; the content must be served over HTTPS.
Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher
如果我错了,请告诉我。这是我第一次处理这类问题。非常感谢投入,谢谢。
答案 0 :(得分:0)
好的,所以我想我已经知道了。首先,非常感谢Mark B向我介绍了精彩的Chrome调试工具,并指出了我正确的方向。
在原始问题中,我发布了两个我遇到的错误。在知道问题到底是什么,并做了一些研究后,我设法实现了一个有效的解决方案。以下是帮助解决此问题的代码:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
这基本上有助于为任何运行KITKAT SDK或更高版本的手机设置混合内容。
希望此解决方案能够在将来帮助其他人。
资源:
StackOverflow - Android WebView blocks redirect from https to http