AJAX - когда пользователь покидает страницу - хорошая или плохая практика / реализация? - PullRequest
2 голосов
/ 25 октября 2009

Я просто читал , как проверить, что пользователи покидают страницу ранее, когда внезапно я подумал о выполнении AJAX, когда пользователь покидает страницу, чтобы отправить аналитические данные обратно на сервер.

Является ли выполнение AJAX на событии onunload хорошей или плохой практикой / реализацией?

Ответы [ 3 ]

4 голосов
/ 25 октября 2009

Выполнение вызовов AJAX при выгрузке не очень хорошо работает во всех ситуациях. Обычно веб-браузер закрывает панель практически сразу, и вызов AJAX может быть потерян.

Если вы хотите отправить аналитические данные, я предлагаю отправить их в заранее закрытия страницы. Например, отправьте его через 5 секунд, затем через 10 секунд, 20 секунд и т. Д. Используйте уникальный идентификатор, чтобы найти последнюю информацию. Интервал зависит от вас, насколько вам нужно точное измерение, а не раздражать пользователя дополнительной полосой пропускания: -)

1 голос
/ 25 октября 2009

Чтобы получить любую надежную форму данных, вам нужно будет приостановить действие до тех пор, пока не пройдёт пост Ajax - страница обычно закрывается, прежде чем это может произойти.

В действительности, нет способа обнаружить каждый способ, которым пользователь может выйти со страницы, при загрузке, если он недостаточно быстр, будет прерван.

0 голосов
/ 25 октября 2009

Думаю, вы окажетесь в состоянии гонки

Если вы создадите другой поток, тот, кто выполнял вызов AJAX, будет уничтожен, и страница будет выгружена (поскольку страница ожидала завершения этого потока)

В любом случае, по моему мнению, события разгрузки следует избегать любой ценой! Если только за последние пару лет ничего не изменилось ... где я сказал себе никогда больше не делать этого: P

Удачи

...