fancybox 2.1.4 - Uncaught TypeError: невозможно прочитать свойство «помощники» неопределенного

Имея некоторые проблемы с веб-сайтом, над которым я работаю, я не могу заставить fancybox работать правильно, тестируя его с клипом YouTube.

Вот мой файл сценария. Использование 2.1.4 с jQuery 1.9

script.js

var $j = jQuery.noConflict();

$j(document).ready(function(){

    $j('.flexslider').flexslider({
    animation: "slide"
  });

    $j('.fancybox-media').fancybox({
        openEffect  : 'none',
        closeEffect : 'none',
        helpers : {
            media : {}
        }
    });

});

flexslider работает нормально, но у fancybox-media есть проблемы. когда я нажимаю на ссылку, она просто открывает ссылку вместо открытия медиафайла в окне fancybox.

Внутри хромированной консоли написано

Uncaught TypeError: Cannot read property 'helpers' of undefined jquery.fancybox-media.js:88
(anonymous function) jquery.fancybox-media.js:88
(anonymous function) jquery.fancybox-media.js:196

Ссылка определяется как:

<h2><a class="fancybox-media" href="http://www.youtube.com/watch?v=czQipWJA8EU">Watch This Video</a></h2>

Кроме того, если вы хотите посмотреть на сайт в разработке, его можно найти на www.miems.co.

Любые идеи, пожалуйста, дайте мне знать. С уважением, Давид


person FluxSine    schedule 16.03.2013    source источник
comment
Что ж, после того, как я поиграл, я сказал, черт возьми, и в итоге исправил его, вернувшись к jquery-1.8.0.min.js и откатившись к fancybox 2.0 вместо использования медиа-фрейма, я решил использовать старую настройку iframe, поэтому используя это сейчас.   -  person FluxSine    schedule 17.03.2013
comment
Ваш код fancybox отлично работает с jQuery v1.9.1, проверьте JSFIDDLE ... вы уверены, что не забыли включить файл jquery.fancybox-media.js?   -  person JFK    schedule 19.03.2013


Ответы (3)


Учитывая, что просмотров сотни, а ответа пока нет

То

$('.fancybox').fancybox();

необходимо вызвать перед вызовом любого другого кода из fancybox

В моем случае я изменил порядок выполнения javascript с:

<script type="text/javascript" src="/static/js/jquery.fancybox-thumbs.js?v=1.0.7"></script>
<script type="text/javascript" src="/static/js/jquery.fancybox.js?v=2.1.5"></script>

to:

<script type="text/javascript" src="/static/js/jquery.fancybox.js?v=2.1.5"></script>
<script type="text/javascript" src="/static/js/jquery.fancybox-thumbs.js?v=1.0.7"></script>
person matcheek    schedule 31.08.2013

Я столкнулся с точно такой же ошибкой, потому что по глупости дважды включил jquery.fancybox.js на страницу. Просто удалите второй вызов, и проблема должна быть устранена.

person Ashish Kumar    schedule 18.01.2016

В wordpress, после долгих исследований и обновлений:

загрузив тему с помощью Fancybox, и в дополнение к этому у меня был плагин, также использующий fancybox, это создало двойной вызов Fancybox. Ашиш Кумар указал на это. Спасибо, я только отключил плагин и все ошибки исчезли.

Тема: турпакет

Плагин: Easy Fancybox

person wpcoder    schedule 27.09.2016