JavaScript перенаправить на форму обратной связи, когда пользователь решает покинуть страницу? - PullRequest
0 голосов
/ 15 августа 2011

Я ищу способ перенаправить посетителей, которые решили покинуть страницу, в форму быстрой обратной связи. Под уходом я подразумеваю закрытие вкладки - если они переходят по какой-либо из ссылок на сайте, будь то внутренняя или внешняя, я не хочу, чтобы инициировались какие-либо перенаправления, но если они решат закрыть вкладку или нажать кнопку «Назад» и т. Д. - покиньте сайт, я бы очень хотел перенаправить их в форму быстрой обратной связи и узнать их мнение о том, что им не понравилось.

Так, как я могу пойти по этому поводу?

Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 15 августа 2011

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

Когда пользователь решает щелкнуть назад / вперед или ввести URL-адрес в адресную строку, находясь на вашем сайте, вы не можете перенаправить их куда-либо еще или предотвратить это действие. Тем не менее, вы можете спросить пользователя (через стандартное диалоговое окно в его браузере, в которое вы можете добавить текстовое утверждение в некоторых случаях), хочет ли он остаться на вашем сайте или уйти.

Для вас было бы лучше установить что-то вроде Google Analytics: http://www.google.com/analytics/

Это позволит вам отслеживать активность посетителей в мельчайших деталях, чтобы вы могли видеть, где они покидают сайт, как долго они остаются и где вам, возможно, потребуется улучшить свой сайт. Это даст вам намного лучшую обратную связь, не вмешиваясь во время пользователя или опыт просмотра. Более того, такие программы, как Analytics, не требуют от пользователя активного участия в предоставлении вам отзывов (о которых вы вскоре узнаете, никто не будет). Когда кто-то решает покинуть ваш сайт, он ушел. Никакое количество попрошайничества, просьб или всплывающих окон не заставит их остаться. Фактически, они, вероятно, просто гарантируют, что пользователь никогда не вернется.

Поэтому возьмите его у нас и используйте отслеживание статистики, а не вмешивайтесь в работу пользователя.

0 голосов
/ 15 августа 2011

Вам необходимо назначить функцию для window.onbeforeunload.

На самом деле довольно сложно делать то, что вы хотите, потому что вы должны убедиться, что вы можете определить, что на самом деле пользователь сделал , чтобы запустить событие, что означало бы, что каждая ссылка на вашей странице делает что-то (и от всей моей головы, я не уверен, что это будет), что позволило бы вам идентифицировать это.

То, что вам нужно сделать, это, по сути, просмотреть все на вашей странице, что не должно вызывать форму, заставить все из этих вещей что-то сделать (возможно, установить глобальную переменную ?) тогда, если что-то не было сделано, вы можете перенаправить людей в форму обратной связи.

Хотя пользователи будут ненавидеть тебя за это ...

0 голосов
/ 15 августа 2011

Это плохая идея, но вот как это делается. Но будьте осторожны, вы будете бичом всех, кто посещает ваш сайт. Люди ненавидят это. Но если вы настаиваете на том, чтобы ходить в общественные места небритыми, с подголовником и запахом тела, то посмотрите на:

window.onbeforeunload();

и

window.location();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...