Яндекс.Фотки и Colorbox

Внешние хостинги картинок — штука несомненно удобная. До тех пор, пока не начинаешь использовать jQuery-красивости типа colorbox/lightbox. Неожиданно вылезают ошибки, например «Request unsuccessful: error». Из-за чего они появляются и как с ними бороться — читайте дальше.

Причина возникновения такой ошибки, видимо, в использовании jQuery. Lightbox пытается определить тип отображаемого контента. Если бы запрашиваемое фото было в том же домене, что и вызывающий скрипт — все прошло бы гладко, но мы-то используем внешний хостинг картинок, в то время как в библиотеке не используются кросс-доменные запросы. Тип контента можно было бы определить по расширению файла, но в Яндекс.Фотках используются адреса типа http://img-fotki.yandex.ru/get/4612/3199755.a/0_6167e_be8d9617_L без .jpg в конце.

Решение этой проблемы простое как 3 рубля — достаточно принудительно сообщить colorbox-у что контент, который он будет отображать — именно фотографии, а не видео или html-страница. Делается это указанием ключа photo:true при инициализации плагина:

$('#example').colorbox({photo:true});

В случае, если Вы используете Wordress-плагин для этих целей, нужно внести изменения в php-код плагина. Например, для Lightbox Plus версии 2.3.1 надо в файле classes/actions.class.php после 74 строки $lbpArrayPrimary = array(); добавить строку:

$lbpArrayPrimary[] = 'photo:true';

Буду рад, если кому-то этот пост поможет разобраться с ошибкой, решение которой хотя и лежит на поверхности, но я на его поиск в свое время потратил не один час.

Михаил Соколов

Автор - Соколов Михаил Борисович, город Киров. Эколог, работаю в химической лаборатории областного природоохранного центра. Фото и видео, если не указано иное, сняты мною. При использовании фото в интернете обязательно указание авторства и активной ссылки на этот сайт. Условия использования в печатной продукции можете узнать, связавшись со мной одним из способов, указанных в разделе «Контакты». Для некоммерческих и бесплатных проектов обычно разрешаю безвозмездное использование фото.

Также может быть интересно...

4 комментария

  1. Да вы гений! Спасибо вам за решение! Я этим Яндексом намучался уже… Сделал как вы описали, ссылки заработали. Тяжело было найти данную информацию в основном глупые перепосты одного и того же описания работы этого плагина. Ещё раз благодарю вас.

    • Михаил Соколов:

      Спасибо. Этот пост больше как напоминание для себя писал, где патчить, когда после очередного обновления все слетит. Очень рад, что информация еще кому-то пригодилась.

  2. Кстати на ночной грибной охоте у вас как раз слетели настройки… =)

    • Михаил Соколов:

      Тот самый случай, когда тыкнул на кнопку «обновить плагин» а пропатчить забыл 🙂
      По-уму, давно надо в старых постах со старого на новый, независимый от этой настройки, шаблон перейти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *