Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/37: Рейтинг темы: голосов - 37, средняя оценка - 4.97
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958

Действия при закрытии окна браузера

26.03.2014, 23:46. Показов 7451. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Интересует можно ли когда пользователь закрывает браузер или вкладку сайта выполнить запрос в базу данных.
Если да то подскажите как это осуществить )
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2014, 23:46
Ответы с готовыми решениями:

Session destroy при закрытии браузера
Добрый день дамы и господа. Меня интересует как закрыть сессию при закрытии браузера. Ну и хотелось бы заодно узнать как установить timeout...

Прервать выполнение запроса к MSSQL при закрытии браузера
Задался той же проблемой, нашёл решение: 1. после соединения с базой данных определяем @@SPID процесса и заносим его в COOKIE 2. в теле...

Уничтожаются сессии на смартфоне при закрытии браузера
Не могу понять В сессии хранятся данные о пользователе (чтобы каждый раз не вводить) На ПК нормально всё работает, но на мобилах нет ...

28
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
27.03.2014, 00:18
обработать window.onbeforeunload
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
27.03.2014, 01:16  [ТС]
window.onbeforeunload
а можно как то сделать чтоб не выводилось такое окошко с вопросом хочу ли я уйти, а просто выполнялся скрипт?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.03.2014, 15:35
prudkiy, Такой подход применим в десктопах, но не в вебе. А если я открою страницу и оставлю открытой на 97 дней? А если я её открыл и просто забыл про неё? Нет меня там, чтобы вообще было применимо понятие "ушёл".
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
27.03.2014, 19:49  [ТС]
prudkiy, Такой подход применим в десктопах, но не в вебе. А если я открою страницу и оставлю открытой на 97 дней? А если я её открыл и просто забыл про неё? Нет меня там, чтобы вообще было применимо понятие "ушёл".
та хоть и 2 года, главное что вы есть онлайн. Я хочу чтоб когда закрывается браузер или вкладка сайта передалась не которая инфа в базу данных, скрыто от пользователя. Возможно ли такое в принципе?
0
Заблокирован
27.03.2014, 20:12
Цитата Сообщение от prudkiy Посмотреть сообщение
та хоть и 2 года, главное что вы есть онлайн.
А кто знает, что Вы онлайн? Если пользователь не открывает новые страницы сайта, через некоторое время он уже не считается онлайн. После того, как браузер получил страницу от сервера, соединение с сервером разрывается.
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
27.03.2014, 20:46  [ТС]
А кто знает, что Вы онлайн? Если пользователь не открывает новые страницы сайта, через некоторое время он уже не считается онлайн
Почему это не считается? К примеру я зашел на сайт, это увидела система. То что я вышел на кухню есть пирожки еще не значит что я уже не онлайн, к примеру я могу услышать звуковой сигнал о поступлении нового сообщения итд. То о чем вы говорите это реализация "нет на месте", а это другая история. Я так понимаю для того чтоб системе увидеть что Вас уже нету на сайте, она должна либо отловить закрытие вкладки( браузера ) или к примеру сканировать сайт через определенное время, последнее я в принципе догадываюсь как реализовать но что то это мне не нравиться.
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
27.03.2014, 21:21
Цитата Сообщение от prudkiy Посмотреть сообщение
Почему это не считается?
потому что сервер отдав вам страницу теряет к вам интерес. вас больше нет до тех пор пока вы снова не обратитесь к серверу.
Цитата Сообщение от prudkiy Посмотреть сообщение
к примеру я могу услышать звуковой сигнал о поступлении нового сообщения итд.
это значит браузер запросил сервер на предмет наличия новых сообщений.
Цитата Сообщение от prudkiy Посмотреть сообщение
Я так понимаю для того чтоб системе увидеть что Вас уже нету на сайте, она должна либо отловить закрытие вкладки( браузера )
ага. браузер закрыли - кто будет "систему" уведомлять? Или вообще свет вырубили? Так и будете "онлайн"? Сокеты используют для таких вещей.. На худой конец по таймеру теребят сервер..
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
27.03.2014, 22:15  [ТС]
На худой конец по таймеру теребят сервер..
я говорил что такой вариант рассматривал но что то он мне не очень нравиться

Добавлено через 24 минуты
Я так понимаю здесь мы стали обсуждать зачем мне это нужно и глупо это или нет. Меня же интересует техническая сторона, возможно ли вообще выполнять запросы к серверу при закрытии вкладки(браузера) ??? или же при закрытии любые запросы к серверу невозможны ???
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
28.03.2014, 22:47  [ТС]
Спасибо тем кто хотел помочь ) Нашел решение, все ОК =)
0
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
29.03.2014, 12:11
prudkiy, а поделиться не хотите?=)
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
29.03.2014, 13:18  [ТС]
а поделиться не хотите?=)
Я нашел решение моей задачи не используя событие закрытия окна, хотя толком, если честно, до конца не разобрался в событии )
0
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
31.03.2014, 10:18
prudkiy, а где решение? где код?
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
31.03.2014, 20:27  [ТС]
а где решение? где код?
Повторюсь, я решил нужные мне задачи НЕ используя событие закрытия окна. Так сказать была найдена достойная альтернатива )

Тема закрыта
0
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
01.04.2014, 11:10
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
01.04.2014, 20:09  [ТС]
эхх.... Чтоб не бились головой об стенку, объясню.
Мне нужно было чтоб один сайт собирал инфу о количестве человек на другом, конкретном сайте.
Алгоритм был такой - заходит человек на сайт, срабатывает скрипт - взять инфу с базы mysql, суммировать к этой цифре 1 и занести это число в базу. С реализацией этого вопросов не было. Вопрос стоял в том как именно запустить скрипт чтоб он сделал обратное, т.е. когда человек выходит из сайта. Вот для этого я и хотел узнать о возможности события закрытия окна, как вы уже знаете безрезультатно, либо такое не возможно либо я плохо копался. К этому вопросу я еще думаю вернусь, попозже.

Добавлено через 4 минуты
не исключаю что можно было что то изящнее придумать.... но алгоритм был такой и сами понимаете добиться его реализации было как необходимо так и интересно. Но время прижимало, а ответа не было...

Добавлено через 13 минут
Давай думать как еще можно реализовать поставленную задачу.
В сети нашел скрипт подсчета количества человек локально т.е. при входе на сайт он всех пересчитывал и заносил результат в локальный файл. Вроде все хорошо, вместо того чтоб заносить это в файл я заносил это в базу. Но скрипт так же срабатывал только тогда когда был вход на сайт. Что если сначала 100 человек туда зайдет, это будет в базе, а потом все вместе выйдут. В итоге в базе будет не верная инфа до тех пор пока на сайт кто то не зайдет. Это решил простым редиректом. Когда пользователь заходил на страницу, где выводилось число онлайн посетителей на другом сайте, его быстро перекидывало на этот сайт, происходил запрос, база обновлялась, и возвращала пользователя обратно, информация о количестве была достоверной. Все это происходило быстро, не заметно для пользователя.
Вот так.
0
02.04.2014, 08:10

Не по теме:

Цитата Сообщение от prudkiy Посмотреть сообщение
эхх.... Чтоб не бились головой об стенку, объясню.
Мне нужно было чтоб один сайт собирал инфу о количестве человек на другом, конкретном сайте.
Алгоритм был такой - заходит человек на сайт, срабатывает скрипт - взять инфу с базы mysql, суммировать к этой цифре 1 и занести это число в базу. С реализацией этого вопросов не было. Вопрос стоял в том как именно запустить скрипт чтоб он сделал обратное, т.е. когда человек выходит из сайта. Вот для этого я и хотел узнать о возможности события закрытия окна, как вы уже знаете безрезультатно, либо такое не возможно либо я плохо копался. К этому вопросу я еще думаю вернусь, попозже.
Добавлено через 4 минуты
не исключаю что можно было что то изящнее придумать.... но алгоритм был такой и сами понимаете добиться его реализации было как необходимо так и интересно. Но время прижимало, а ответа не было...
Добавлено через 13 минут
Давай думать как еще можно реализовать поставленную задачу.
В сети нашел скрипт подсчета количества человек локально т.е. при входе на сайт он всех пересчитывал и заносил результат в локальный файл. Вроде все хорошо, вместо того чтоб заносить это в файл я заносил это в базу. Но скрипт так же срабатывал только тогда когда был вход на сайт. Что если сначала 100 человек туда зайдет, это будет в базе, а потом все вместе выйдут. В итоге в базе будет не верная инфа до тех пор пока на сайт кто то не зайдет. Это решил простым редиректом. Когда пользователь заходил на страницу, где выводилось число онлайн посетителей на другом сайте, его быстро перекидывало на этот сайт, происходил запрос, база обновлялась, и возвращала пользователя обратно, информация о количестве была достоверной. Все это происходило быстро, не заметно для пользователя.
Вот так.
И все равно не понятно, при каком условии у Вас уменьшится количество человек онлайн и как Вы отслеживаете выход с сайта :D Или оно у Вас будет только вверх расти?

p.s. а еще можно использовать заголовок Connection: Keep-Alive и держать соединение до тех пор пока пользователь не закроет браузер и потом обрабатывать. Но это уже совсем идиотизм использовать такое только ради отслеживания онлайна :D

0
6 / 6 / 4
Регистрация: 31.01.2014
Сообщений: 44
02.04.2014, 17:45
а через использование сессий?
человек заходит - создается под него сессия, человек закрывает браузер\сайт - сессия удаляется.
сколько сессий открыто - столько и людей на сайте.

или я что-то не понимаю?)
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
02.04.2014, 20:04  [ТС]
Новичок

Регистрация: 31.01.2014
Сообщений: 26
Репутация: 3 (3)
Лучшие ответы: 2

Действия при закрытии окна браузера / PHP для начинающих
а через использование сессий?
человек заходит - создается под него сессия, человек закрывает браузер\сайт - сессия удаляется.
сколько сессий открыто - столько и людей на сайте.

или я что-то не понимаю?)
идея вроде не плохая. Но опять же, можно указать время жизни сессии после закрытия окна, можно сказать что 0. Хорошо, окно закроется, сессия удалиться. Но опять же информация о количестве человек должна храниться в базе mysql, сессия то удалиться но запроса в базу не будет

Добавлено через 2 минуты
И все равно не понятно, при каком условии у Вас уменьшится количество человек онлайн и как Вы отслеживаете выход с сайта Или оно у Вас будет только вверх расти?
пожалуйста, читайте внимательней

Что если сначала 100 человек туда зайдет, это будет в базе, а потом все вместе выйдут. В итоге в базе будет не верная инфа до тех пор пока на сайт кто то не зайдет. Это решил простым редиректом. Когда пользователь заходил на страницу, где выводилось число онлайн посетителей на другом сайте, его быстро перекидывало на этот сайт, происходил запрос, база обновлялась, и возвращала пользователя обратно, информация о количестве была достоверной.
0
6 / 6 / 4
Регистрация: 31.01.2014
Сообщений: 44
02.04.2014, 20:26
Из всего вышесказанного возникае вопрос:
Вы хотите узнавать о количестве юзеров, заходя в бд или на сайт, где собирается инфа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2014, 20:26
Помогаю со студенческими работами здесь

Дополнительные действия при закрытии формы
Пересмотрел кучу инфы что то все не понятно. хочу сделать так чтобы при закрытие формы у меня в БД уходило несколько значений ...

Сохранение корзины при закрытии браузера
Как сохранять корзину в cookie? Есть такой код, он работает, не не сохраняет корзину Контроллер return View(new CartViewModel ...

Сохранение данных при закрытии Браузера
Добрый день. Есть следующий класс : public class BrowserCloseHandler { private const string ScriptableObjectName...

Выход из соц. сетей при закрытии браузера
Может кто уже сталкивался с этим, что например: Завис комп, перезагружаешь, заходишь в соц сеть, а вы в ней... Или просто закрыл...

Редирект только при закрытии вкладки браузера
Всем привет. Столкнулся с ужасной проблемой, нужно сделать редирект на другую страницу при закрытии вкладки в браузере. Сам редирект...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru