Как локализовать проблему, если в режиме инкогнито кнопка не кликается
Что проверяют
Умеете ли вы сужать круг причин, а не перебирать всё подряд. Главное, что хотят услышать: чем режим инкогнито отличается от обычного и какие гипотезы из этого следуют. Следом часто просят описать, что вы напишете в баг-репорте.
Как отвечать
Сначала назовите разницу режимов, из неё растут гипотезы. В инкогнито чистая сессия без кук, localStorage и кэша, расширения по умолчанию выключены, а Chrome там блокирует сторонние куки.
Дальше шаги по порядку:
- отделить инкогнито от чистого состояния: повторить в обычном окне с новым профилем или после очистки данных сайта. Воспроизвелось, значит дело в отсутствии сохранённых данных, а не в самом режиме;
- консоль: ошибки JavaScript. Например, код читает токен или настройку из
localStorage, получаетnullи падает раньше, чем навешивает обработчик; - Network: уходит ли запрос по клику, какой статус ответа, нет ли 401 из-за отсутствующей сессии. Заблокированные куки Chrome показывает на вкладке Cookies у конкретного запроса;
- Elements: что реально лежит под курсором. Частая причина это прозрачный оверлей, например баннер согласия на куки, который в чистой сессии показывается заново. Проверить
pointer-events,z-index, атрибутdisabled, вкладку Event Listeners; - сторонние сервисы: кнопка оплаты или входа внутри iframe часто зависит от сторонних кук;
- другие браузеры: приватный режим Firefox и Safari, чтобы понять, баг браузерный или ваш.
В баг-репорт: браузер и версия, режим, шаги с чистого старта, ошибки из консоли, HAR или скриншот вкладки Network, результат проверки в обычном режиме.
Где спотыкаются
Советуют отключить расширения. В инкогнито они и так выключены, если их не разрешили вручную, так что это скорее довод против версии с расширениями.
Сразу лезут в код обработчика, не проверив, долетает ли клик до кнопки. Перекрывающий элемент находится за минуту через инспектор.
Пишут в отчёте «в инкогнито не работает» без условий. Разработчик не воспроизведёт баг, если не знает, что дело в пустом хранилище или в заблокированных куках.