Есть разные способы сохранить такие вещи:
Локально (для того же домена)
перед выгрузкой
Это дает вам возможность отменить событие выгрузки, если хотите. Однако всплывающее окно необязательно.
разгрузить
Это событие нельзя отменить, но у вас по-прежнему есть полный доступ ко всем узлам и переменным JavaScript. Таким образом, вы можете выполнить окончательную очистку / сохранить, если отмена не требуется. Вы можете использовать любой способ сохранения, например document.cookie
или window.localStorage
.
window.onunload = function () {
window.localstorage[myVideo.currentTime] = document.getElementById("myVid").currentTime;
}
Если вы можете справиться с тем фактом, что вы можете обрабатывать файлы cookie и localStorage только тогда, когда пользователь возвращается на ваш сайт. Думаю, такой подход был бы идеальным. Вы просто сохраняете текущее время, и при следующем посещении пользователем вы получите обновленную информацию.
На бэкэнде
Если вам действительно нужно сохранить эту информацию на сервере, вы можете попробовать другие вещи.
Опрос БД
В зависимости от ваших требований к точности вы можете отправлять ajax-запрос каждые 10-20 секунд для обновления времени воспроизведения. Если вы просто включите идентификатор видео и текущее время, запрос будет настолько маленьким, что не повлияет на производительность. Однако имейте в виду, что если у вас много файлов cookie домена, это может значительно увеличить размер запросов, и ваши 500-байтовые полезные данные могут иметь заголовок 5 КБ.
person
Torsten Walter
schedule
26.07.2012