当我的网页的网址没有返回404时,我正试图在网页中显示图片。我正在使用AngularJS。
我无法使用ngIf检查网址,因为它会检查是否为null。当网址返回404时,我会显示一些内容,但如果是404,我会显示。
如果图像返回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时,它不显示任何图像,而不是显示默认徽标。
答案 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解决方案你应该实现这个功能的承诺。