Автор Тема: Модуль автоподстановки адреса не работает в Firefox (работает в Chrome)  (Прочитано 162 раз)

02 Апреля 2016, 14:51:32
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
    • Просмотр профиля
Использую на ps1.6.0.14 этот бесплатный модуль от DaData.ru - https://github.com/hflabs/suggestions_prestashop
Шикарная функциональность - дает подсказки по адресу и автоматом определяет почтовый индекс.
Без проблем работает в браузере GoogleChrome.

Но в Firefox обнаружилось загадочное поведение, которое не позволяет покупателям регистрироваться в ЛК:
- при попытке регистрации через ЛК не создается аккаунт покупателя. Ни при одноступенчатой регистрации (только "клиент"), ни при двухступенчатой ("клиент" и "адрес"). Покупатель редиректится обратно на страницу входа в ЛК (authentication)
- если аккаунт уже существует, то при попытке покупателя зарегить в ЛК новый адрес или исправить существующий, адрес не сохраняется. Покупатель редиректится обратно на страницу "заполните поля адреса" (address). 

При этом никаких ошибок в консоли js и дебаге php не видно.
Загадочно это, потому что в GoogleChrome всё работает отлично, никаких проблем.

Может, кто сталкивался с отладкой этого модуля для работы в Firefox?
Или с решением схожих проблем несовместимости в Firefox и Chrome?
02 Апреля 2016, 15:42:36
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
По Firefox нужно тестировать, Используй простой редактор JavaScript (Shift+F4), веб-консоль (Ctrl+Shift+K) или букмарклет.
Для Firefox есть хорошо известное расширение Firebug. Уже много раз писали про отладку с помощью этого расширения.
Цитировать
Технология отладки.
Этапы
1. Найти соответствующий код в консоле отладчика.
2. Установить контрольную точку или точки в том месте, которое вам кажется вызывает проблему или где вы хотите увидеть передчу значения переменной.
3. Запустить скрипт еще раз, перезагрузив страницу.
4. Отладчик остановит выполнение скрипта в этой точке, дальше будет пошаговое выполнение кода.
5. Проверить значения переменных. Например, искать undefined переменные, которые неопределенны, хотя должны содержать значение, или ищите возврат false в функции, которая должна после выполнения вернуть true.
6. В случае необходимости, использовать командную строку, для ппроверки изменений значений в переменных.
7. Так вы находите проблемное место и тестируете решение для его устранения.
8. После тестирования, проверки, если ошибок нет, перенсти изменения в соотвествущий файл.

Чтобы создать контрольную точку, вы можете также добавлять в ваш код специальную инструкцию отладчика:
function frmSubmit(event){
      event = event || window.event;
      debugger;
      var form = this;
}