Jump to content


Photo
- - - - -

Частый конфликт скриптов


Best Answer SmetDenis , 19 March 2015 - 08:12

1. не кодер практически, потому вряд ли смогу вырезать. Хотя если код выглядит более-менее одинаково и будет пример - думаю справлюсь

Чтобы убрать лишнее подключение своими силами, не обязательно быть программистом. Достаточно применить смекалку.

Например в вашем случае. Копируем имя неугодно нам файла
zym6_200x0.png

Открываем тотал коммандер и делаем полнотектовый поиск по всем файлами (или только по файлам фреймворка)
На примере JBZoo
emec_200x0.png

Открываем файла и комментируем подключение. Путь до файла подсказывает нам, что это где то в системном плагине helix.
Обычно это выглядит вот так

... ->addScript('путь до файла/jquery.min.js');

--------------------
Ликбез по JavaScript от программиста для web-мастеров, которые не понимают что вообще происходит...

Почему происходит конфликт скриптов?

Допустим есть у нас вот такая ситуация
rljt_200x0.png

Что мы видим.
1. Подключилась библиотека jQuery. Она сделал это первой в списке. Это правильно.
2. Подключаются плагины для jQuery. В нашем случае это JBZoo + другие, например ниже есть "jquery.qtip.js"
3. Снова подключается фреймворк jQuery, который автоматически стирает всю ранее инициализированную систему. Т.е делает так как будто всех расширений на 2м пункте и не было.

В итоге наши старания в виде инициализации вкладок по середине страницы (например), уже не сработают.
1j24_200x0.png

Включение jQuery от helix просто стерло в памяти браузера все что было объявлено.
Как результат - вкладки не работают.
А чью это вкладки? JBZoo. Кто виноват? Криворукие разработчики JBZoo :) +1 топик на форуме о нескольких jQuery :)

Тот кто хоть чуть-чуть знает, что такое функция - вот вам пример
1zc8_200x0.png

Точно так же и с JQuery. Переопрделелили её и все стерлось.
Порядок подключения JS скриптов ОЧЕНЬ и ОЧЕНЬ и ОЧЕНЬ важен.

Очень странно что разработчики популярного фреймворка не знают этих основ и в плагинах нет опции отключения. Что как бы намекает...

---------------
Что делать?

Вариантов несколько.
1. Уповать на бездарных разработчиков Joomla/Zoo/JBZoo/Helix (нужное подчеркнуть) только потому что вы не знаете основ JS.
2. Использовать плагины, которые с помощью суровых регулярных выражений ищут проблемы. Кстати там можно указывать имена файлов.
3. Проявить смекалку и найти последнее не верно подключение. Просто закоментировать строку и жить спокойно.

---------------
Почему я считаю что JBZoo работает правильно?

Не первый день вижу это все, вы не первый кто не знает основ web-разработки.
А еще мелочь... мы используем jQuery из Joomla (для версий старше 3.x) или jQuery из Zoo (для 2.5).
Таким образом, я знаю что Joomla подключит файлы верно (т.е первым в списке), перед остальными плагинами.

---------------
Почему это такой популярный баг в Joomla ?

1. Не компетентные разработчики, которые втыкают свои версий jQuery хотя Joomla имеет на борту свой файл.
2. Всякие мелкие модули слайдеров, менюшек и прочей ерунды включают свой файл не заботясь о окружающих, обычно их заботит красота менюшки.
3. ну и web-мастера... Туча народу делает сайты без знаний CSS, что уж говорить о JavaScript...

---------------
Почему бы не сделать так, чтобы JBZoo контролировал подключения JS ?

Область действия нашего кода внутри Joomla довольно узкая, т.е это выглядит так
- инициализация Joomla
- что-то сработало (плагины)
- JBZoo
- что-то сработало (модули)
- что-то сработало (шаблон Joomla)
- что-то сработало (плагины)

Что происходит/подключается вокруг нас вне сферы работы нашего кода.
Делать костыли, чтобы это объять и сделать новых багов ... нет ... Может подключаться что угодно и как угодно, это невозможно контролировать. Например, как распознать что файл с именем "jqsystem.js" - это jquery ? Ответ: из PHP никак...


---------------
Ели кто-то до сих пор считает, что мы не знаем о существовании проблема с несколькими jQuery или считаете нас неграмошными-ни-разу... то... ничего не могу с этим поделать. Видимо был не убедителен выше.

Go to the full post


  • This topic is locked This topic is locked
17 replies to this topic

#1 registr

registr
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 18 March 2015 - 14:59

Вот например счас: http://учебка.com/index.php/en/katalog/item/item-uid-550537ae65ad4
Не работают в фильтре зависимые поля и закладки  http://view.xscreens...6f482cb3b19f582
И это очень часто происходит, иногда просто методом перебора находил какой-то плагин который отключал и начинало работать, а сегодня все перепробовал - не помогло, может кто-то подскажет где какой код лишний можно удалить?
 


  • 0

#2 Cheren-dow

Cheren-dow
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 18 March 2015 - 15:48

registr, думаю все дело в плагине helix - он подключает jQuery из-за этого конфликты

1pfp_200x0.png  


  • 0
Изображение
 

#3 registr

registr
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 18 March 2015 - 18:08

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


  • 0

#4 laRus

laRus
  • JBZoo User (rus)
  • User rate: 60
  • posts: 1334
  • topics: 31

Posted 18 March 2015 - 18:26

плагине helix
Это от фреймвека, да? 
  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#5 registr

registr
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 18 March 2015 - 19:26

да, это фреймворк helix

подскажите как исправить, я на нем шаблон хочу настроить


  • 0

#6 laRus

laRus
  • JBZoo User (rus)
  • User rate: 60
  • posts: 1334
  • topics: 31

Posted 18 March 2015 - 19:42

Как вариант можно попробовать


  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#7 Na_uM

Na_uM
  • JBZoo User (rus)
  • User rate: 15.9
  • posts: 782
  • topics: 61

Posted 18 March 2015 - 19:42

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


  • 0

#8 laRus

laRus
  • JBZoo User (rus)
  • User rate: 60
  • posts: 1334
  • topics: 31

Posted 18 March 2015 - 19:45

плагин поставить и отключить

 

это фреймворк helix

:)) 

 

я на нем шаблон хочу настроить

:)) 

Хи! :)  (извините, пожалуйста!! ) 

 

Извините еще раз! ... А вообще-то правильно Na_uM сказал, я бы тоже другие варианты поискала.. раз уж в начале работы с helix конфликты, то потом будет все вообще непредсказуемо...


Edited by Ursa, 18 March 2015 - 19:48.

  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#9 registr

registr
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 18 March 2015 - 20:15

знаете, у меня не в первый раз проблема именно с закладками в карточке товара, на самых различных шаблонах. Не раз уже искал с каким плагином конфликт, находил и отключал, но это ж не выход, может как-то можно или в админке добавить чтоб квери лишний отключить именно работающий с этими закладками? А хеликс ну нравится мне он, я как не особо кодер его немного изучил потому его и выбрал.


  • 0

#10 laRus

laRus
  • JBZoo User (rus)
  • User rate: 60
  • posts: 1334
  • topics: 31

Posted 18 March 2015 - 20:23

Не обижайтесь, пожалуйста, я не со зла!!  :)

Хеликс очень симпатичный: свежий и чистый, но так ведь проблем не хочется!!  :-|

 

P.S. А ноуконфликтные плагины-то пробовали поставить? Не пошло?


Edited by Ursa, 18 March 2015 - 20:24.

  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..




Click to return to top of page in style!