Проверка на существование файла

342
23 декабря 2016, 15:16

Написал скрипт поиска картинки для нужного мне блока:

$('.craft').each(function() {
    var craft_id = $(this).attr('jet-id').toLowerCase();
    var that = $(this);
    $.ajax({
        url: '/img/crafts/' + craft_id + '.png',
        success: function() {
            that.find('.craft-searcher').attr('src', '/img/crafts/' + craft_id + '.png');
        },
        error: function() {
            that.find('.craft-searcher').attr('src', '/img/crafts/' + craft_id + '.jpg');
        }
    });
});

Работа скрипта заключается в поиске картинки формата .png и если такая картинка не найдена, то к блоку будет прикреплена картинка формата .jpg.

Вопрос: как прикрепить другую картинку, если не были найдены ни .png, ни .jpg? Скрипт-то способен обработать лишь один fail().

UPD: заметил, что скрипт делает поиск дважды. Почему?

Answer 1
$.ajax({
    url: '/img/crafts/' + craft_id + '.png',
    success: function() {
        that.find('.craft-searcher').attr('src', '/img/crafts/' + craft_id + '.png');
    },
    error: function() {
      $.ajax({
        url: '/img/crafts/' + craft_id + '.jpg',
        success: function() {
          that.find('.craft-searcher').attr('src', '/img/crafts/' + craft_id + '.jpg');
        },
        error: function() {
          that.find('.craft-searcher').attr('src', '/img/crafts/' + craft_id + '.gif');
        }
      });
    }
});

Для ответа на

скрипт делает поиск дважды. Почему?

в вопросе недостаточно кода.

READ ALSO
Редирект js/jquery на другой сайт [требует правки]

Редирект js/jquery на другой сайт [требует правки]

У нас есть сайт 1 в нём нужно сделать редирект на сайт 2, а с сайта 2 на сайт 3, при этом сайт 3 не должен знать о существовании 1Как делать обычный...

268
Изменить путь к файлу в директории [требует правки]

Изменить путь к файлу в директории [требует правки]

Как изменить путь к файлу в скрипте (папка/file)

278
Корректировка анимации в Google Chrome

Корректировка анимации в Google Chrome

Задача перед мной стояла такая, скрыть 3 первых столбца в таблице, в итоге скрылНо отображение в Chrome странное, как только открываю страницу...

308
Отслеживание изменений input в partial view .NET

Отслеживание изменений input в partial view .NET

Постараюсь разложить детальноИмеется View, в которой в зависимости от выбора пользователя подгружаю PartialView

378