Одним простым способом является то, что игрок может обновлять ваши куки-файлы с помощью JavaScript, и эта функция JavaScript может вызываться каждые n секунд с помощью проигрывателя Flash Player:
<script type="text/javascript">
function UpdateViewData(videoId, time)
{
//for a video with id 12345, sets a cookie called:
//hulu12345 with a value of the position
var cookieData = 'hulu' + videoId + '=' + time + '; expires=' + getDate() + ';path=/';
document.cookie = cookieData;
}
</script>
В проигрывателе Flash ActionScript может часто вызывать JavaScript, чтобы получить достаточно точное обновление о том, где проигрыватель последний раз устанавливал cookie. Каждый раз, когда он вызывается, он переписывает cookie с обновленными данными:
import flash.external.ExternalInterface;
//in flash video player code,
//have variables for video ID and current player position
//every 5 seconds, call:
ExternalInterface.call("UpdateViewData", videoId, currentPlayerPosition);
//this will invoke a JS function on the host page named "UpdateViewData"
//and pass in the provided arguments
Когда вы снова заходите на страницу, первое, что делает сервер, проверяет, есть ли у вас cookie с именем «hulu {ID of video}», и если да, то значение этого куки - это позиция, установленная в прошлый раз, когда вы были просмотр.
Опять же (как указано в начале) это очень простой способ выполнить то, что вы просите. Я считаю, что лучший способ научиться - это пойти с простой реализацией, а затем добавить сложность, когда простой случай будет хорошо понят. Hulu, вероятно, периодически делает негласные обновления, используя AJAX. (На самом деле, если вы смотрите сетевой трафик во время просмотра видео, используя что-то вроде Firebug , вы увидите случайные звонки на http://t2.hulu.com/v3/playback/position?...
).