javascript – 来自外部网站的图像的后备img src

我需要显示来自其他站点的图像,并且具有带有引用图像URL的imgsrc属性的视图模型.然后我有以下HTML绑定:

<img data-bind=attr: { src : imgsrc } />

问题是如果绑定图像是外部的,如果外部网站出现问题,我可以获得404或500响应;因此,我想显示一个后备图像,以防我们无法加载图像.

如何使用KnockoutJS实现这一目标?

最佳答案

您可以使用onerror事件.

HTML:

<img id=pic data-bind=attr: { src : imgsrc } />

JavaScript的:

var myViewModel = {
    imgsrc: ko.computed(function () {
        var pic = document.getElementById('pic');
        pic.onerror = function () {
            pic.src = 'fallback image url';
        };
        return 'image url';
    },this)
};

ko.applyBindings(myViewModel);

示例:http://jsfiddle.net/R4SV7/1/

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小