Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Закрытие окна!
 
 автор: 70-й_регион   (27.01.2006 в 16:14)   письмо автору
 
 

Всем привет помогите как зделать если можно.
Вот закрыл я окно браузера (нажал на крестик) только тогда он выполнит определёную команду.
Пример: закрыл я окно чата а он выкинул меня из списка on-line.

   
 
 автор: AlexSol   (27.01.2006 в 16:22)   письмо автору
 
   для: 70-й_регион   (27.01.2006 в 16:14)
 

повесь код на событие onUnload
<head>
<script language="JavaScript">
<!--
function ft(){
var t = new Date();
var th = t.getHours();
var tm = t.getMinutes();
var ts = t.getSeconds();
var time = th + ":" + tm + ":" + ts;
alert("уже уходите? Сейчас только " + time);
}
//-->
</script>

</head>
<body onUnload="ft()">
</body>

   
 
 автор: 12345   (27.01.2006 в 16:49)   письмо автору
 
   для: AlexSol   (27.01.2006 в 16:22)
 

Нет, тут требуется на сервере проделать. Наиболее надёжно обращаться периодически к странице, проверять её существование по XmlHttpRequest (т.е. страница к серверу). По onUnload она может просто не успеть передать состояние.

   
 
 автор: 70-й_регион   (27.01.2006 в 18:13)   письмо автору
 
   для: 12345   (27.01.2006 в 16:49)
 

а можно поподробнее про XmlHttpRequest то это я вообще впервые слышу.
Мне в принципе нужно когда после закрытия окна чата меня выкинула из списка on-line.
Как это можно зделать?

   
 
 автор: 12345   (27.01.2006 в 18:41)   письмо автору
 
   для: 70-й_регион   (27.01.2006 в 18:13)
 

Начать можно с этого примера, который специально сокращён -
<br>
<B>Короткий пример</B> <u onClick=loadXMLDoc(this,'JsPrimeryCode-40.xml')>XMLHttpRequest</u><br>
<br>

<script>
function loadXMLDoc(t,url){var Q=new Object;
Q=(window.XMLHttpRequest?new XMLHttpRequest():
    (window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new Object));
Q.onreadystatechange=function(){    // only if req. shows "complete"
    if (Q.readyState==4){//alert(Q.status+' '+Q.statusText);    // only if "OK"
        if (Q.status==200||location.href.indexOf('http:')<0&&Q.status==0){t.innerHTML+=Q.responseText;
        }
}};
Q.open("GET",url+'?'+Math.random(),!0);Q.send(null);
}
</script> 

2-й файл (JsPrimeryCode-40.xml) -
<response value="12345">
&lt;<method value="123456">This is </method>
example <result>of Suggest></result>
</response>
Потом на место 2-го файла ставишь php, отмечающий, что пользователь пока ещё в онлайне. Подробнее о методе - http://javascript.aho.ru/article4.shtml#articles. По unload тоже можно прикрутить, но не всегда успеет отправиться, если вообще сможет. Окно ведь сразу закрывается, а скрипт работает в окне (в процессе окна).

То же самое можно делать просто вызовом динамической картинки (обновлять по innerHTML) с src=your.php?random_parameter=2149545654 . Т.е. полностью в технологию можно не вдаваться, только сообщать периодически, что ты в онлайне.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования