Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема c jquery на joomla сайте
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Проблема c jquery на joomla сайте

Страниц (1): [1]
 

1. Oscrib - 13 Июля, 2016 - 19:13:35 - перейти к сообщению
Добрый день, на сайте установлены:

1. joomla 3.5
2. Helix V2 framework на Twitter Bootstrap
3. установлен компонент (jQuery v1.11.2)
4. модуль - (jquery/1.11.0/) (jqueryui/1.10.4/)
5. модуль - (jquery/1.8.3/) (jqueryui/1.9.2/)
6. модуль - jplayer ver. 2.9.2 (jQuery v1.11.1) отказывается работать

в гугле пишут что это конфликт mootols и jquery, но отключение mootols проблему не решает

1. сначала была ошибка TypeError: $ is not a function
убрал ее подставив вместо

$(document).ready(function(){

jquery(document).ready(function(){

2. после этого перестал работать jquery на сайте и полезли Uncaught TypeError: this._initPlaylist is not a function
конкретнее:

1/ jPlayerPlaylist @ VM4294 jplayer.playlist.min.js:42
2/ (anonymous function) @ loading:79
3/ j @ jquery.min.js:2
4/ k.fireWith @ jquery.min.js:2
5/ m.extend.ready @ jquery.min.js:2
6/ J @ jquery.min.js:2

подскажите пожалуйста как исправить эти ошибки
2. IllusionMH - 13 Июля, 2016 - 20:09:22 - перейти к сообщению
Oscrib, и зачем так много версий жуквери? Обязательно нужен правильный порядок подключения jquery и плагинов. Скорее всего плагин подключился к одному инстансу jQuery а а на странице используется уже подключенный после.
3. Oscrib - 13 Июля, 2016 - 20:23:53 - перейти к сообщению
IllusionMH пишет:
Oscrib, и зачем так много версий жуквери? Обязательно нужен правильный порядок подключения jquery и плагинов. Скорее всего плагин подключился к одному инстансу jQuery а а на странице используется уже подключенный после.


на сайте вроде один подключил - jQuery v1.11.3
это я указал версии требуемые для корректной работы модулей и плагинов
4. IllusionMH - 13 Июля, 2016 - 20:41:44 - перейти к сообщению
Oscrib, откройте исходники страницы и убедитесь что jQuery подключается только 1 раз, и плагин подключается только после этого
5. Viper - 13 Июля, 2016 - 22:14:26 - перейти к сообщению
Oscrib пишет:
убрал ее подставив вместо
jQuery
6. Oscrib - 14 Июля, 2016 - 15:51:49 - перейти к сообщению
чтобы перенести jquery-noconflict.js ниже, и подключить через index.html я закомментировал в документе helix.php строку:

self::getInstance()->addJS( 'jquery-noconflict.js' );

отказало главное меню с ошибкой Uncaught ReferenceError: spnoConflict is not defined на эту строку:

spnoConflict(function($){

после чего я заменил spnoConflict на jQuery и появилась ошибка Uncaught ReferenceError: spnoConflict is not defined (anonymous function) со ссылкой на этот код в index.html

<script src="/templates/shaper_maxima/js/fixed-menu.js" type="text/javascript"></script>

вот сам код fixed-menu.js

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. jQuery(function($){
  3.         $(window).on('scroll', function(){
  4.                 if( $(window).scrollTop()>205 ){
  5.                         $('#sp-menu-wrapper').addClass('menu-fixed');
  6.                 } else {
  7.                         $('#sp-menu-wrapper').removeClass('menu-fixed');
  8.                 }
  9.         });
  10.  
  11.         $('.sp-main-menu-toggler').on('click', function(e){
  12.                 e.preventDefault();
  13.         });
  14.  
  15.         $('.sp-main-menu-toggler').appendTo('#sp-menu');
  16.         $('.sp-mobile-menu').appendTo('#menu');
  17. });
  18.  
7. IllusionMH - 14 Июля, 2016 - 16:02:08 - перейти к сообщению
Oscrib, вы сообще код 'jquery-noconflict.js' смотрели? там и объявлялась эта переменная и скорее всего много где используется, так что врядли вариант убирать no-conflict, а вот в вашем коде стоит убрать $ и использовать jQuery.

либо ноконфликт менять на var spo... = jQuery
8. Oscrib - 14 Июля, 2016 - 17:18:36 - перейти к сообщению
IllusionMH пишет:
Oscrib, вы сообще код 'jquery-noconflict.js' смотрели? там и объявлялась эта переменная и скорее всего много где используется, так что врядли вариант убирать no-conflict, а вот в вашем коде стоит убрать $ и использовать jQuery.

либо ноконфликт менять на var spo... = jQuery


Спасибо! Помогло!

Ошибка исчезла, но к сожалению jplayer так и не заработал (
9. IllusionMH - 14 Июля, 2016 - 18:01:42 - перейти к сообщению
Oscrib, нужно смотреть как они используют jQuery. Если вдруг им только $ подавай, но конфликт нельзя вызывать, или руками var $ = jQuery.noConflict() добавлять.

 

Powered by ExBB FM 1.0 RC1