Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка Cannot read property 'open' of undefined в goole Chrome


skyzy

Recommended Posts

Приветствую знатоков!

Решил слегка доработать функцию add в файле common.js (отвечает за добавление товара вкорзину).

Хотелось, чтобы выскакивало модальное окно с тем же текстом, что и в стандартном сообщении. 

Проблема в следующем. 

В хроме появляется ошибка: Cannot read property 'open' of undefined

При этом в яндекс браузере всё работает на ура.

Вот код функции:

...'add': function(product_id,buttonId, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				$('.alert, .text-danger').remove();

				if (json['redirect']) {
					location = json['redirect'];
				}

				if (json['success']) {
					$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">×</button></div>');

					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);
                    
                    document.getElementById('cartCount').innerHTML = json['total'];
                    
                     //Меняем класс блока с корзиной
                    var articleCart = document.getElementById(buttonId);
                    articleCart.className = "";
                    articleCart.className = "activeCart";
                    

                    $('html, body').animate({ scrollTop: 0 }, 'slow');
                    
                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                    
                    //Открываем модальное окно.
================>>> $.magnificPopup.open <<<========================== Здесь выскакивает ошибка
                    ({
                    items: {
                            src: '<div class="cartAddPopup">'+json['success']+'</div>',
                            type: 'inline'
                            }
                        });

	
				}
			},
	        error: function(xhr, ajaxOptions, thrownError) {
	            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
	        }
		});
	}...

Сайт: joy-joy.ru прямо на главной странице можно посмотреть

ocStore 2.1

Надеюсь на помощь знатоков.

Змінено користувачем skyzy
Надіслати
Поділитися на інших сайтах


12 минут назад, theRGD сказал:

jquery на поменьше версия сменить пробуйте

Пробовал. Отваливаются несколько других функций. И результата не даёт.

Змінено користувачем skyzy
Надіслати
Поділитися на інших сайтах


10 минут назад, AlexDW сказал:

может что поменяли в процессе тестирования, но при загрузке сразу вижу такое

 

QjYmHdhxRryupVx2ck0FGA.png

Это файл отвечающий за поиск. С ним ещё не ковырялся... Знаю об этой ошибке. К сожалению, они не связаны.

Надіслати
Поділитися на інших сайтах


Всем спасибо. Вопрос решён. Дело было в том, что файл с плагином модальных окон загружался не во всех браузерах одинаково. Странное поведение, но решилось прописыванием в хедере. 

Надіслати
Поділитися на інших сайтах


2 часа назад, skyzy сказал:

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

 

первый раз про такое слышу :?

можно подробней? желательно с примером..

Надіслати
Поділитися на інших сайтах

3 минуты назад, AlexDW сказал:

 

первый раз про такое слышу :?

можно подробней? желательно с примером..

Возможна такая ситуация, что скрипт не загружен, а инициализация уже идет..

 

Надіслати
Поділитися на інших сайтах

51 минуту назад, AlexDW сказал:

первый раз про такое слышу :?

можно подробней? желательно с примером..

Бог  его знает. Нет у меня примера. По факту:

1. в яндекс браузере всё работает

2. в хроме не работает.

3. при явном указании скрипта в head работает и там и там

Вывод: в хроме скрипт не подгружается или подгружается не полностью. В яндексе подгружается. Как-то так.

Надіслати
Поділитися на інших сайтах


52 минуты назад, chukcha сказал:

Возможна такая ситуация, что скрипт не загружен, а инициализация уже идет..

так вроде тогда бы нигде не работало..

почему и спросил

Надіслати
Поділитися на інших сайтах

7 минут назад, skyzy сказал:

при явном указании скрипта в head работает и там и там

т.е. при подключении скрипта через контроллер такая проблема?

Надіслати
Поділитися на інших сайтах

23 минуты назад, AlexDW сказал:

так вроде тогда бы нигде не работало..

в то-то и дело, что раз на раз не приходится..

В одном браузере может работать, а в другом -нет

 

Вы никогда не замечали сколько запросов делает FF при наличии тега rel=next ?

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.