Как отследить событие закрытие окна браузера

Тема в разделе "JavaScript", создана пользователем vipTelnet, 1 окт 2013.

Модераторы: ZiX
  1. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    133
    Симпатии:
    11
    Уточняю интересует именно полное закрытие окна вкладки или всего приложения браузера
    а не просто переход со страницы на другую страницу
    так что просто стандартный unload не подойдет
     
  2. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    HTML:
    window.onbeforeunload = function(){
       
        alert( 'Good bye!' );
    };
    зы.. работает в большинстве, но не во всех браузерах..
     
    vipTelnet нравится это.
  3. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    133
    Симпатии:
    11
    Да сделал не через это событие ява скрипта
    так как оно не универсальное
    а через массив Server Refer host
    там нужно было отследить это событие что бы при следующем заходе сбрасывать куки
     
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    про php явно не сказано , но

    bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

    The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).
     
    vipTelnet нравится это.
  5. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    ZCFD, осталось вам только код привести, который среагирует на закрытие окна, а не на отсутствие куки при следующем заходе..
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    там нужно было отследить это событие что бы при следующем заходе сбрасывать куки

    Зачем реагировать на закрытие окна? человеку нужно было сбросить куки
     
  7. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    да.. во втором посте тс переиначил изначальную постановку..
     
  8. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Формально, предложенный Вами вариант не совсем подходит, т.к.

    при закрытии вкладки (без закрытия браузера) кука не сбрасывается.
    А вообще, правильность ответа зависит от точности вопроса..
     
    BDSG нравится это.
  9. vipTelnet

    vipTelnet Постоялец

    Регистр.:
    14 янв 2013
    Сообщения:
    133
    Симпатии:
    11
    Суть была такая на сайте не сколько шаблонов,
    которые при переключении ставят куки, есть и шаблон по умолчанию
    так вот задача была такая при заходе на сайт всегда показывать главный шаблон по умолчанию,
    этого не происходило из за того что в браузере оставалась кука от последне используемого шаблона
    и я хотел по началу ее как то грохать при закрытии вкладки
    но поняв что это не возможно отследить по крайне мере кросс браузерно
    решил иди по другому пути
    PHP:
    $parse parse_url($_SERVER['HTTP_REFERER']);
    if(
    $parse['host'] != 'site.ru'){
        
    $_Cookie['TemplateSel'] = 7;//это значение по умолчанию
    }
     
  10. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Сайт ведь с www не может быть открыт (редирект?)