![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Доброго времени суток!
Сабж! Именно закрытие браузера, а не завршение работы с текущи документом, т.е. я имею ввиду, что onUnload для данного случая не подходит. Мне нужно сделать следущее: Когда пользователь закрывает окно браузера (мой случай оптимизирован только под IE), то его редиректит на некоторый скрипт, который выполняется и закрывается окно. Возможно ли такое, в принципе?! -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
нет, не должно быть возможно.
Но мне в таких случаях onunload помогал. Поясни, что тебе нужно сделать перед закрытием? |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
onunload здесь не поможет, так как это событие происходит и при обновлении страницы. Перед закрытием мне нужно обязательно перенаправить и выполнить php-скрипт, который уничтожает некоторые переменные. Т.е. произвести зачистку перед некорректным выходом пользователя.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Ustas, поясни:
1. Что ты подрузумеваешь под закрытием? Именно закрытие главного окна? Закрытие браузера? Обновление страницы кнопкой F5? 2. Что должно зачищаться? Куки? |
|||
|
||||
| -=Ustas=- |
|
||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
diam, по-моему я все понятно объяснил.
Его сАмого, самогО бразузера.
Нет, открытая текущая сессия. Но ее будет убивать php-скрипт, на который его и нужно отслать при закрытии окна. Всё, более подробно уже некуда. Как я понимаю, скорее всего JS не поможет и придется прибегать к cron-у ?! -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||
|
|||||
| diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Ustas, при закрытии браузера текущая сессия теряется самим браузером, и при его последующем открытии и брожении по твоему сайту браузер получит новую сессию, поскольку старая для него пропадёт.
|
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
diam
P.S. Извинясь за офтоп, не в ту степь уже поперли - не соответствуем форуму. Это сообщение отредактировал(а) -=Ustas=- - 22.8.2005, 11:24 -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
В общем, ты хочешь, что бы при закрытии браузера некий скрипт отправил мессагу серверу: "всё, можешь удалять!".
Не получится |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Лана, получится, не получится... Вернемся к изначальному вопросу - можно ли средствами JavaScript отловить событие закрытия браузера? Подчеркну еще раз закрытия, а не выгрузки документа. onunload не прёт, есть какие-нибудь извращения в этом языке (может там какие-нить неофициальные незадокументированные возможности...) ?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
-=Ustas=- много раз уже такое обсуждалось. Ответ: нет нельзя. И никогда не будет, ибо "нафига"?
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Просмотрел спецификацию JavaScript, DOM для подтверждения своих мыслей. Ничего не нашёл.
Я думаю, такого просто не должно быть. Представим себе обратную ситуацию, то есть, средствами скриптового языка можно заставить браузер отправить некоторую информацию на сервер перед закрытием. Итак, открыт браузер, висит отдельным процессом (или иерархическим набором процессов) в системе. Поскольку мы средствами скриптового языка может сделать "последнюю отправку" на сервер, то и процесс завершать пока не можем. Зашли на некий сайт xxx.net. Видим то, что нам не нужно. И закрываем. А на сайте скрипт просит отправки на сервер некоторой инфы, которую нужно вычислить при дозагрузке документа
Тогда, получается, только один выход для принудительного закрытия - убивание процесса. Сам-то захочешь такой браузер? К тому же, HTTP - протокол запросов/ответов, что само по себе (по логике вещей) предполагает, что сервер, отправляя ответ клиенту, не убеждается, что клиент получит всё, поскольку клиент мог и не дожидаться ответа на запрос З.Ы. Мы рассмотрели тот вариант, когда браузер не даст пользователю закрыть себя до отправления. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
DOM не описывает логику браузера, а документ, его представление в среде JS(любой язык). JavaScript(ECMA Script) тоже не описывает логику браузера, а синтаксис и список стандартных обьектов для JavaScript(Array, Object, Function etc). -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Ладно, будем искать другие решения.
Спасибо всем! -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Копай в сторону этих событий:
Добавлено @ 12:30 Естественно, IE only |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |