首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有显示的Angularjs图像:不安全:背景图像

没有显示的Angularjs图像:不安全:背景图像
EN

Stack Overflow用户
提问于 2015-05-04 16:18:18
回答 1查看 3.9K关注 0票数 4

我想在我的Angularjs应用程序中显示一个图像,下面是代码:

代码语言:javascript
复制
<img  src="background-image: url({{image.url}})" />

其中,image.url是一个作用域变量,其值http://localhost/assets/photo/41/photo.jpg驻留在本地主机上的apache服务器上。

GET请求失败,错误如下:

代码语言:javascript
复制
unsafe:background-image: url(http://localhost/assets/photo/41/photo.jpg):1
GET unsafe:background-image: url(http://localhost/assets/photo/41/photo.jpg) 
net::ERR_UNKNOWN_URL_SCHEME

提前谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-04 16:22:37

您使用的img标记不正确

代码语言:javascript
复制
<img  ng-src="{{image.url}" />

&来自服务器的映像url将是/assets/photo/41/photo.jpg而不是http://localhost/assets/photo/41/photo.jpg,在处理同一域时不需要实际域。

只是没有澄清您想要do..It的内容,在这种情况下,似乎您可能希望使用background-imageng-style会有帮助。

代码语言:javascript
复制
<div ng-style="{'background-image': 'url('+ image.url+')' }"></div>

更新

因为URL是其他域的&您希望使用trustedResourceURL服务将url显示为$sce服务。

代码语言:javascript
复制
$scope.getTrustedResourceUrl = function(url){
   return $sce.getTrustedResourceUrl(url)
};

并在URL之前获取其他域名url以获得不预先预置的unsafe:,然后您需要对配置中的imgSrc进行消毒&在其中使用白名单url。

代码语言:javascript
复制
app.config(function($compileProvider) {
    var imgSrcSanitizationWhitelist = /^\s*(https?|ftp|file):|data:image\//;
    $compileProvider.imgSrcSanitizationWhitelist(imgSrcSanitizationWhitelist);
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30034869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档