如何在JS中为图像指定两个可能的文件路径?

时间:2017-07-24 15:58:35

标签: javascript filepath

我已经通过Google和Stack Overflow搜索栏对此进行了一些搜索,并且没有任何相关信息显示出来。我甚至不确定这是否可行,所以如果不是,请告诉我。我正在寻找的是为图标设置两个可能的文件路径(SVG文件)的方法,这样如果图像不在第一个文件路径/位置,它将尝试第二个。我有一个像这样的对象:

this.bookmarkButtonConfig = {
    "oc-control": "BookmarkButton",
    "label": "BookmarkButton",
    "group": "primary",
    "action": "onBookmark",
    "buttonType": "toggle",
    "image": "$MODULE_PATH/images/favorite-icon.svg"
}

然后所有这些属性都被其他东西读取并根据所述属性配置按钮,但这对此并不重要。有没有办法可以设置"image"以便它在一个文件路径中查找图标,然后如果它不存在,它会尝试第二个文件路径?是否有某种功能或方法可以做到这一点?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,您可以使用AJAX调用来检查服务器中是否存在该图像, 首先写这个函数:

function imageExists(url){
    var http = new XMLHttpRequest();

    http.open('HEAD', image_url, false);
    http.send();

    return http.status != 404;
}

然后根据结果分配网址:

var src = imageExists(the first url) ? "the first url" : "the second url";