Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   JS: Вывод сообщения при уходе со страницы (http://forum.oszone.net/showthread.php?t=83732)

Vyacheslav 08-05-2007 10:15 584374

JS: Вывод сообщения при уходе со страницы
 
Уважаемые господа специалисты и любители, подскажите, возможно-ли написать Java скрипт для сайта, чтобы при закрытии сайта он предлагал сделать запись в Гостевой книге или просто вежливо попрощаться. У меня есть похожий скрипт, но он каждый раз предлагает это даже при переходе по ссылке, а нужно было бы только тогда, когда уходя с сайта закрываешь его. Возможно-ли такое вообще? (PHP и Perl не подходят, т.к. хостинг не поддерживает их)
Буду признателе всем, кто что-либо знает по этому вопросу.
С уважением :Vyacheslav

Vlad Drakula 08-05-2007 10:45 584382

Vyacheslav
1) PHP и Perl - не подходят по причине того что это серверные языки
2) по моему и в теории не возможно... хотя вам нужно чтьбы при уходе с сайта или при закрытии окна?

vadimiron 08-05-2007 12:42 584419

Vyacheslav
Так не делают - раз человек решил уйти, так дайте ему уйти

Скрипт, который у вас есть, работает только под ИЕ и то до 7-ой версии, так что советую забыть подобное

Prisoner 08-05-2007 14:13 584463

Можно и так конечно (FF2, IE6):
Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>onUnload</title>
<meta http-equiv="content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="content-language" content="ru">
<meta http-equiv="imagetoolbar" content="no">
</head>
<body>
  <script type="text/javascript">
    (function () {
      var e_pref = '',
          e_meth = (window.addEventListener)
                  ? ['addEventListener', 'removeEventListener']
                  : (e_pref = 'on', ['attachEvent', 'detachEvent']),
          afterExit = function (e) {
            alert('See u later!');
          };
      window[e_meth[0]](e_pref + 'unload', afterExit, false);
    })();
  </script>
  <a href="http://forum.oszone.net">leave by link</a> or close page/tab
</body>
</html>

Но есть два НО: 1) vadimiron прав - негоже мешать пользователям так или иначе покидать сайт, а это поведение именно помеха 2) на вскидку не могу найти подходящего способа определения куда ведет ссылка в событии unload - в пределах сайта или сейчас уходим на другой т.е. имеет место быть невыполнение пункта Вашего задания.

Я бы поступил иначе: вешал бы на все ссылки документа доп. обработчик клика и если href ссылки ведет вон с сайта то... ну в общем идея ясна. Однако повторюсь - два, а лучше три раза подумайте - нужны ли Вам плюющиеся раздосадованные посетители? :)

Vyacheslav 09-05-2007 13:24 584741

Уважаемые господа, спасибо за советы (может что нибудь потребует уточнения). Почему же это вредный скрипт, я же писал, что - или предложение чего-либо, или просто вежливо попрощаться, типа спасибо, что посетили будьте здоровы и т.п. Что же в этом плохого? Хотя я может быть чего-то не догоняю, как обычно.
С уважением: Vyacheslav

yurfed 09-05-2007 13:50 584747

Vyacheslav Это получается типа "ненавязчивых" NAG- screens, для бесплатных програм, которые по входу или выходу, вежливо так напоминают - А вот если Вы посетите наш сайт... или дали бы денег...
Конечно, можно выйти и так, не посещая и ничего не отдавая.
Только осадок, после второго посещения такого сайта, не хороший остаётся. В третий раз могут и не зайти.

Vyacheslav 09-05-2007 16:53 584792

Цитата:

Только осадок, после второго посещения такого сайта, не хороший остаётся
Не пойму, что в этом плохого, если уходя с сайта человеку пожелают долго здравствовать. По-моему перегибаете палку. У нас хамства в инете масса - и ничего, как будто так и должно быть, а просишь скрипт вежливо прощающийся - обижаются. Странно, Хотя возможно я не догоняю очень многого,но меня это не обижает. Может и не буду этот скрипт помещать, но проэкспериментировать хотелось бы. Кстати скрипт помещённый выше - прощается при переходе по ссылке, а не при покидании сайта (закрытия страницы). Может, что то возможно в нём подправить (я к сожалению не спец), что бы прощался только при закрытии страницы, а не переходе по ссылке. Но я уже и сам боюсь, что это не осуществимо. Подтвердите или опровергните мои опасения.
С уважением : Vyacheslav/

yurfed 09-05-2007 17:08 584796

Vyacheslav Я тоже, в этих дела не большой спец (скриптах), но начиналась тема так:
чтобы при закрытии сайта он предлагал сделать запись в Гостевой книге или просто вежливо попрощаться.. Ни кому предлагать ничего не надо, а тем более выбирать кнопку - Запись или Выйти. Надо заинтересовать сделать эту запись. Когда я покидаю страничку - я её именно покидаю. Ну а попрощаться... 2ух-3ёх секундное окошко со здравием, думаю будет приятно.
Наверное это мнение большинства.
К сожалению, как это реализовать, я тут не помошник. Всё сказанное - моё IMHO

Vyacheslav 09-05-2007 17:52 584797

Цитата:

К сожалению, как это реализовать, я тут не помошник.
Да вот и я боюсь, что более-менее простыми средствами это реализовать не возможно, а может и другими невозможно, но подожду уж, что скажут другие.мой майл

DedAlex 10-05-2007 00:50 584909

Vyacheslav
Присоединюсь к общему мнению, лично я на такой сайт вернусь только если там есть информация которой больше нигде найти нельзя. По моему мнению такого делать не стоит.


Время: 10:49.

Время: 10:49.
© OSzone.net 2001-