每当我访问基于angularjs的网站加载图像(https服务器上的http图像)时,我会在控制台中收到警告,说混合内容已被阻止。那些图像没有出现
这不是我的浏览器,因为它也发生在其他浏览器和其他系统上,它不是服务器,因为另一个不使用angularjs的网站可以正常工作。所以我认为它与angularjs有关。
我已经这样做了:
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'http://images.RESOURCE.net/*'
]);
但它没有做任何事情。此外,我尝试将它们加载到无协议网址上,以便//images.RESOURCE.net
这会导致它们通过https加载,但是无法验证图像服务器的服务器标识,它也无效。
是否有人可以确定实际问题,是angularjs还是angularjs可以解决它吗?在当前状态下几乎不可能从项目中删除angularjs。
由于
-xCoder
答案 0 :(得分:1)
这不是Angular的限制。现代浏览器阻止通过安全(https)连接加载混合(http)内容。这可以通过调整所选浏览器中的设置来解决。
通过浏览器启用混合内容:
IE: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Internet+Explorer
Firefox: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Mozilla+Firefox
Chrome: http://wiki.sln.suny.edu/display/SLNKB/Enabling+mixed+content+in+Google+Chrome