#javascript
#javascript
Вопрос:
Я просто хочу, когда пользователь заходит на мой сайт и закрывает окно, тогда я хочу знать причину ухода с моего сайта.
Итак, я отправляю пользователя на страницу опроса, используя следующий скрипт.
Это работает в любом браузере, но не в Chrome
<script type="text/javascript">
window.onbeforeunload = confirmExit;
function confirmExit() {
if (location.href.indexOf("index.php") != -1)
{
location.href = "http://www.test.com/survey.php";
return "Press 'cancel to go 'survey'";
}
}
</script>
Комментарии:
1. Лично я не собираюсь отвечать на этот вопрос, потому что я не верю, что это хорошая практика. Вы не должны перенаправлять пользователей, когда они покидают вашу страницу, я бы счел это вредоносным.
2. Я бы, конечно, не стал отвечать на опрос, в который меня только что принудили! И, конечно, я буду продолжать использовать Chrome 😉
3. Я бы поспорил, что Chrome не делает то, что вы ищете, только потому, что это довольно раздражает, если честно. Это все равно, что избегать всплывающих окон. Однако я не уверен.
4. Принудительно проводя собеседование при выходе пользователей, я могу предположить несколько особенностей сайта: низкое качество, некачественный контент, несуществующий трафик.
Ответ №1:
Вы пробовали использовать window.location = ("http://www.test.com/survey.php");
or window.open ("http://www.test.com/survey.php");
вместо этого? Это может быть проще сделать.
Вы также можете сделать window.open ("http://www.test.com/survey.php", '_newtab');
Это позволит пользователям меньше расстраиваться, когда они будут вынуждены перенаправлять после выхода, потому что это будет на новой вкладке.
Ответ №2:
Ну, иногда для такого кода, который цитирует пользователь310850, есть веская причина
-
не все веб-сайты находятся в Сети, некоторые из них являются внутренними корпоративными веб-сайтами
-
Некоторые, если не большинство крупных компаний, все еще используют IE 6 в качестве стандартного браузера
Я бы использовал обработчик событий выгрузки. Я предполагаю, что jquery хорош
$(window).unload(function() {
//your code here
});