そのようなものを保存するさまざまな方法があります:
ローカル(同じドメインの場合)
アンロード前
これにより、必要に応じてアンロードイベントをキャンセルできます。ただし、ポップアップはオプションです。
アンロード
このイベントをキャンセルすることはできませんが、すべてのノードとJavaScript変数に完全にアクセスできます。したがって、キャンセルしたくない場合は、最終的なクリーンアップ/保存を行うことができます。document.cookie
またはなど、好きな保存方法を使用できますwindow.localStorage
。
window.onunload = function () {
window.localstorage[myVideo.currentTime] = document.getElementById("myVid").currentTime;
}
ユーザーがサイトに戻ったときにのみCookieとlocalStorageを処理できるという事実を処理できる場合。このアプローチは完璧だと思います。現在の時刻を保存するだけで、次回のユーザーの訪問時に更新された情報を取得できます。
バックエンドで
その情報をバックエンドに本当に保存する必要がある場合は、他のことを試すことができます。
DBポーリング
精度のニーズに応じて、10〜20秒ごとにajaxリクエストを送信して、再生時間を更新できます。ビデオIDと現在の時刻を含めるだけの場合、リクエストは非常に小さいため、パフォーマンスに影響を与えることはありません。ただし、ドメインCookieが多数ある場合は、リクエストのサイズが大幅に増加し、500バイトのペイロードに5kBのヘッダーが含まれる可能性があることに注意してください。