Да, в Chrome они недавно запретили синхронный ajax во время событий конца страницы (например, beforeunload
и unload
). Вы просто не можете больше этого делать в Chrome. Обновление: Вы можете снова, в v73 и v74, но это запланировано (на данный момент) снова уйти в v75, если не будет больше откат назад. Следите за забавой в этом выпуске (спасибо patmortech за нахождение этой проблемы) .
Современная альтернатива заключается в использовании sendBeacon
, который позволяет браузеру перемещаться от страницы, в то же время давая вам возможность сообщить серверу, что происходит. Это не задерживает закрытие страницы. Но это только POST, и, поскольку он не задерживает удаление страниц, варианты использования, основанные на задержке удаления страниц, не будут работать с ним.