- PVSM.RU - https://www.pvsm.ru -

Посреди долгой рутины веб-разработки мне иногда встречаются необычные ошибки. Вот, вроде, всё хорошо — и так работает, и сяк работает. А по-третьему — не работает, хотя на первый взгляд должно. Я просто обожаю процесс поиска причин таких ошибок и хотел бы поделиться некоторыми из таких историй. Ответы (что на самом деле было не так) опубликую через пару дней.
Есть два сайта на поддержке (разработаны не мной), интернет-магазины. Код полностью идентичен — как фронтенд, так и бэкенд (один скопирован с другого после завершения разработки). На главной у обоих сайтов, помимо прочего, обычный javascript'овый слайдер с товарами.
Однажды заказчик обратился и сообщил, что один из слайдеров «сломался». Перестал крутиться (автоматически и при нажатии на кнопки). Когда именно он сломался, сказать не может, но код явно не модифицировался уже давно. И, что главное — другой слайдер на другом сайте работает как часы.
Как я уже говорил, код сайтов идентичен, единственные различия — , домен, название, и также — разный ассортимент товаров (пересекается только процентов на 20).
В чём может быть причина поломки?
Важная подсказка: оба сайта занимаются парфюмерией.
Те же два сайта. Заказчик жалуется, что на одном из сайтов товары иногда не добавляются в корзину (кнопкой со страницы товара). Но — только на одном из них.
Поверхностное тестирование показало — проблема воспроизводится, и в самом деле, лишь на одном из сайтов. Возникает проблема только в случае, если открыть каталог и пытаться как можно быстрее открывать оттуда страницы товаров и нажимать на кнопку «В корзину».
В консоли ошибок JS нет, единственное — не может найти файл какой-то картинки-иконки из шаблона сайта:
GET http:// домен_cайта /img/1.gif 404 (Not Found)
Но ошибка возникает на обоих сайтах и домен везде указан верный (свой). Да и какое это может иметь отношение?
На поддержку попал чужой кастомный код с гугл картой, на которой должны были показываться точки найденных городов. Смысл простой — по текстовому названию города ищутся его координаты и по ним ставится точка.
Вводим Лондон — получаем точку в Лондоне, вводим Париж — тоже на первый взгляд всё выглядит верно. Но ни один другой город не работает правильно — точки оказываются посреди совсем другой страны. США, РФ, Азиатские страны — всё не туда.
Сначала подумал, что возможно оно таки находит по указанным координатам мелкие города-тёзки, но нет, посмотрел по карте — и близко таких нет. А некоторые точки так и вообще указаны где-то в море.
Посмотрел код, исключил возможность хардкода координат городов. Сколько бы ни тестил, кажется, что ничего не работает, но Лондон-то находит стабильно!
Автор: i86com
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/270721
Ссылки в тексте:
[1] хостинг-провайдер: https://www.reg.ru/?rlink=reflink-717
[2] Источник: https://habrahabr.ru/post/344718/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.