- Оформительская тема: Argento
- Место сбоя: открытие главной витринной страницы
- Диагностическое сообщение:
в консоли Google Chrome: «Uncaught TypeError: Cannot call method 'addClassName' of undefined»
в консоли Mozilla Firefox: «TypeError: $$(...)[0] is undefined» - Причина сбоя: некачественное программирование темы
Способ устранения сбоя:
- Файл: skin/frontend/argento/default/js/tabBuilder.js
- Вероятная строка: 51
- Что найти:
$$('.tabs li:first-child')[0].addClassName('first'); $$('.tabs li:last-child')[0].addClassName('last');
- На что заменить:
if (0 < $$('.tabs li').length) { $$('.tabs li:first-child')[0].addClassName('first'); $$('.tabs li:last-child')[0].addClassName('last'); }
- Файл: skin/frontend/argento/default/js/tabBuilder.js
- Файл: skin/frontend/argento/default/js/tabBuilder.js
- Вероятная строка: 84 (после внесения предыдущей правки)
- Что найти:
$(container).select('.tabs li')[index].addClassName('active'); $(container).select('.content .tab')[index].addClassName('active'); $(container).select('.content .tab').invoke('setStyle', {'display': 'none'}); $(container).select('.content .tab')[index].setStyle({'display': 'block'});
- На что заменить:
/** @type {?HTMLLIElement} */ var listItem = $(container).select('.tabs li')[index]; if (listItem instanceof HTMLLIElement) { $(container).select('.tabs li')[index].addClassName('active'); } $(container).select('.content .tab').invoke('setStyle', {'display': 'none'}); /** @type {?HTMLElement} */ var element = $(container).select('.content .tab')[index]; if (element instanceof HTMLElement) { $(container).select('.content .tab')[index].addClassName('active'); $(container).select('.content .tab')[index].setStyle({'display': 'block'}); }
- Файл: skin/frontend/argento/default/js/tabBuilder.js