Uncaught TypeError: Object [object Object] не имеет метода "fancybox"

У меня действительно странная проблема с fancybox (2.x). Я использовал этот script для возрастов, но раньше я не сталкивался с такой проблемой.

Итак, у меня есть веб-сайт: http://tinyurl.com/6mx7an8, и я включил все файлы jquery/fancybox, как указано в руководстве, но консоль JS дает мне ошибка

Uncaught TypeError: Object [object Object] has no method 'fancybox'

Вы знаете, что я делаю неправильно? Любая помощь будет оценена:)

Ответы

Ответ 1

На вашем веб-сайте есть несколько проблем.

  • Вы включаете библиотеку jQuery 2 раза до и после включения fansbox plugin js, из-за которого добавленный плагин очищается от включения второй библиотеки jQuery.
  • Существует некоторая другая библиотека, которая переопределяет $, поэтому ваш код не работает, потому что $ больше не является псевдонимом для jQuery. Вы можете использовать jQuery.noConflict(), чтобы избежать конфликтов с другими библиотеками на странице, которые используют одну и ту же переменную $.

Ответ 2

Похоже, что jQuery включен дважды, один раз возле верхней части головы и один раз у основания.

Ответ 3

У меня была аналогичная проблема. Так или иначе, jQuery загружался дважды. Оказывается, проверяя что-то, я добавил строку drupal_add_js для загрузки jquery в блок, который был отключен, но Drupal все еще оценивал PHP в отключенном блоке.

Когда я удалил строку drupal_add_js из блока, jQuery загрузился нормально, один раз на страницу.

Ответ 4

У меня есть css унифицировать php script на моем веб-сайте, который добавил плагин jquery и jquery postmessage в тот же файл javascript.

Итак, это дало мне ошибку выше.

Я загрузил jquery postmessage отдельно, не объединяя его, и он прекратил давать мне ошибку.

Ответ 5

Я работал с этим кодом

<script type="text/javascript">
    (function( $ ) {   
        $(document).ready( function( ) {  
            $("a#fancyBoxLink").fancybox({
                'href'   : '#popupvid',
                'titleShow'  : false,
                'transitionIn'  : 'elastic',
                'transitionOut' : 'elastic'
            });

        });
    })(jQuery);      
</script>

Ответ 6

Подкатегория JQuery может быть включена в основную библиотеку. Например, jquery.ui.sortable.js я включил в jquery-ui.js во время загрузки, и я добавил, что это давало мне ошибку.

script type = "text/javascript" src= "vendor/js/jquery-ui.js" >

script type = "text/javascript" src= "vendor/js/jquery.ui.sortable.js" >

поэтому включите вспомогательную библиотеку или нет