ng-src路径在第一个投掷404时不选择替代图像URL

时间:2017-04-10 21:49:28

标签: javascript angularjs

当我的网页的网址没有返回404时,我正试图在网页中显示图片。我正在使用AngularJS。

我无法使用ngIf检查网址,因为它会检查是否为null。当网址返回404时,我会显示一些内容,但如果是404,我会显示。

enter image description here

如果图像返回404并且在图像显示时显示图像,是否有任何方法可以显示图像。 HTML代码

<img class="menu" ng-if="$ctrl.companyLogo" ng-src="{{ $ctrl.companyLogo}}">

JavaScript代码:

ctrl.companyLogo="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"

当companyLogo返回404时,它不显示任何图像,而不是显示默认徽标。

1 个答案:

答案 0 :(得分:1)

在Image对象的帮助下,您可以检查图像路径是否返回404或实际图像

var given_src = 'http://idontexist.com/404.png';
var image = new Image();
image.src = given_src;
image.onerror = function(){console.log('doesnt exist or smth ');}
image.onload = function() {console.log('exists or smth');};

这里有一个小提琴https://jsfiddle.net/pLbdqf5d/,你也应该注意,$ scope。$适用于小提琴是一个hacky解决方案你应该实现这个功能的承诺。