Как определить конфликт js

Тема в разделе "JavaScript", создана пользователем Obormot, 4 фев 2012.

Модераторы: ZiX
  1. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Думал сам разберусь, но увы :(

    К сайту подключен js срикпт в котором описаны 99% функций сайта, привожу его ввиде ссылки, ибо код большой и добавлять сюда не получилось даже под спойлер


    Потребовалось подключить к сайту слайдер, перепробывал КУЧУ слайдеров, ВСЕ отказываются работать вместе с этим index.js, отключаю index.js - все отлично !

    Вот привожу код NIVO-slider,


    который так же отказывается работать вместе с этим index.js, подскажите трудно ли найти конфликт этих скриптов, что в этом index.js такого напрограмировано что с ним отказываются работать ВСЕ слайдеры..
    Спасибо !
     
  2. Obormot

    Obormot Постоялец

    Регистр.:
    10 янв 2012
    Сообщения:
    88
    Симпатии:
    2
    Если изменить порядок подключения скриптов в шапке, сначала index.js, патом jquery ( с гугла) патом сприпт слайдера - слайдер начинает работать, перестают работать скрипты из index.js, о чем это говорит ? :confused:
     
  3. ramses21

    ramses21 Постоялец

    Регистр.:
    20 июл 2008
    Сообщения:
    107
    Симпатии:
    16
    Вообще-то jQuery в любом случае самый первый подключается.
    Устанвои на фф плагин firebug и он покажет тебе где ошибка
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    Потому что и index.js и скрипт слайдера в своей работе используют библиотеки jquery. Если ты запускаешь index.js до библиотек jquery, то эти библиотеки(функции) будут недоступны скриптам из index.js и они соответственно не будут работать. Это из раздела "Области видимости"....
     
  5. ShaDeRzz

    ShaDeRzz

    Регистр.:
    16 окт 2007
    Сообщения:
    176
    Симпатии:
    65
    Откройте в Хроме. У этого браузера есть отличный дебаггер. (Инструменты -> Консоль JavaScript) Он укажет вам на ошибку.

    Вполне возможно, что в вашем index.js уже объявлена часть методов и функций, которые вы хотите снова объявить в других js файлах.
    Обычно, такого делать нельзя. В таком случае, нужно поудалять такие функции из подгружаемых библиотек, оставив их только в одном месте.
     
  6. Sonic

    Sonic Создатель

    Регистр.:
    6 сен 2011
    Сообщения:
    13
    Симпатии:
    1
    Для многих js фрэймворков существуют "режимы совместимости", чтобы разные фрэймворки не дрались из-за переменной $. Например для jQuery есть функция jQuery.noConflict().