我正在使用离子,iOS和Android开发应用程序。我必须在网址
处使用ng-src
加载外部图片
http://test.url.eu:1337/fileuploads/receive/552f6d1786a3ea3772000004
它在iOS上工作正常,但在Android上我有不安全的错误,图像没有加载。 我怎么能解决这个问题?
编辑: 它适用于android 4.4和5但不适用于< 4.4。我正在使用crosswolk .. thankyou
答案 0 :(得分:7)
我遇到了一个类似的问题,即应用程序在PC上工作得很好但在android上有404。 根据您的Cordova版本,如Cordova Android 4.0.0公告所示,自Cordova 4.0.0以来,您可能必须添加Cordoba -
白名单功能已更新
- 您需要添加新的cordova-plugin-whitelist插件才能继续使用白名单
- 现在支持设置内容安全策略(CSP),这是白名单的推荐方式(请参阅插件自述文件中的详细信息)
- 默认情况下,网络请求在没有插件的情况下被阻止,因此安装此插件甚至允许所有请求,即使您使用的是CSP。
- 这个新的白名单已经过增强,可以更加安全和可配置,但是 旧版白名单行为仍可通过单独的插件获得(不推荐)。
- 注意:虽然不是此版本的严格部分,但cordova-cli创建的最新默认应用程序默认包含此插件。
安装:Cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git
。
在此之后,您需要添加强制性内容安全策略:(一个简单的尝试方法是:<meta http-equiv="Content-Security-Policy" content="default-src *; img-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
但我建议阅读http://content-security-policy.com处的选项。
别忘了检查 config.xml 以定义访问源(最简单的是<access origin="*"/>
)。如果仍然无效,请查看https://github.com/apache/cordova-plugin-whitelist#navigation-whitelist以查看是否需要导航或意图白名单。
祝你好运!