Как отследить выход пользователя со страницы сайта, чтобы отправить запрос на сервер?
Я написал сайт на django с возможностью создавать статьи, сделал отдельную страницу для их добавления, использовал Tinymce в качестве WYSIWYG редактор, подключил к Tinymce возможность сохранения фотографий на сервер. Однако, если загрузить фотографии на сервер, но не сохранить изменения, то эти фотографии сами не удалятся. Я написал функцию, которая записывает в JSON какие фото были загружены и отправляю их на сервер, где другая функция их уже удаляет. Для отправки я использую navigator.sendBeacon, а для проверки закрытия страницы я попробовал использовать уже все, что возможно: pagehide, unload, visabilityState, но все они работают не всегда, особенно на мобилках. Какой возможен вариант отслеживать выход пользовать с сайта? Может как-то через сессию или что-то подобное. Очень нужно
Дополнительно:
Содержание
Не проще просто написать скрипт, которые удаляет устаревшие файлы, скажем, через сутки?
Ответы:
1. Записываешь добавленные изображения в массив.
2. При нажатии создать запись отправляешь данные контента + изображения массивом.
3. Сохраняешь изображения и контент на сервере как тебе угодно.
4. Не переживаешь, что пользователь загрузит изображение, но не сохранит статью.
- я так и делаю сейчас. меня интересует как отследить закрытие вкладки браузера, перезагрузку и т.д
- KRAcoder, Зачем тебе в таком случае отслеживать перезагрузку и закрытие вкладки?
Картинки не загружены на сервер, контент не сохранен - ну и фиг с ним, разве нет?)
Вот примитивный пример https://codesandbox.io/s/tinymce-forked-26mj36?fil...
Картинки и сам контент будет отправлен одним запросом.
- Виктор Майоров, этот редактор работает таким образом, что ты сам прописываешь код сохранение картинки, и их нужно сохранять сразу на сервер, чтобы они отображались в поле редактирования
- KRAcoder, ок, тогда так)
https://codesandbox.io/s/tinymce-forked-26mj36?fil...В этом случае переопределяем загрузку, делаем вид, что загрузку произошла и вставляем blob. при нажатии на кнопку меняем все blob на тот url где будут лежать изображения, в идеале сохранять с таким же названием в данном случае или же на фронте конвертировать/искажать название по какой-либо формуле. ну и все, дело за малым, отправляем данные на сервак.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?


Для отслеживания выхода пользователя со страницы сайта и отправки запроса на сервер можно использовать различные методы и технологии. Один из наиболее распространенных способов - это использование JavaScript событий.
Прежде всего, необходимо добавить обработчик события на событие beforeunload или unload, которое срабатывает перед выходом пользователя со страницы. В этом обработчике можно отправить запрос на сервер с помощью AJAX.
Пример кода на JavaScript:
Также можно использовать методы отправки запросов на сервер, предоставляемые библиотеками, такими как jQuery:
Помимо этого, можно использовать другие методы отслеживания действий пользователя, такие как события клика на ссылки или кнопки, время пребывания на странице и другие параметры поведения пользователя. Важно учитывать, что некоторые методы могут быть более надежными и эффективными в зависимости от конкретной задачи.
Надеюсь, данное объяснение поможет вам решить проблему отслеживания выхода пользователя со страницы сайта и отправки запроса на сервер. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.
Для отслеживания выхода пользователя со страницы сайта и отправки запроса на сервер можно использовать различные методы. Один из наиболее распространенных способов - это использование события "beforeunload" в JavaScript.
Пример кода на JavaScript:
В данном примере, когда пользователь покидает страницу сайта, будет отправлен POST запрос на сервер с информацией о выходе пользователя (например, его имя пользователя).
Также можно использовать другие методы отслеживания выхода пользователя, например, отправку запроса на сервер при закрытии вкладки браузера или при нажатии кнопки "выход".
Если вы используете PHP на сервере, вы можете обработать этот запрос и выполнить необходимые действия, например, обновить статус пользователя в базе данных или выполнить какие-то другие операции.
Не забывайте, что отслеживание действий пользователей на сайте должно быть согласовано с политикой конфиденциальности и обязательно уведомлять пользователей о том, что их действия могут быть отслежены.