Понимание файлов cookie (с помощью плагина jquery cookie.) - PullRequest
0 голосов
/ 15 февраля 2012

Я работаю над проектом, в котором есть Flash-видео, которое автоматически воспроизводится после загрузки на страницу. Мой клиент хотел бы, чтобы он автоматически воспроизводился при первом посещении страницы. Последующие посещения (в том же сеансе) будут загружать видео, но держать его на паузе.

Flash-видео имеет функцию JS, которую я могу вызвать, чтобы приостановить или воспроизвести видео. Поэтому я подумал о том, чтобы установить cookie-файл, как только пользователь заходит на страницу, и заставить его вызвать обратный вызов при последующих посещениях.

//wait until everything has loaded
$(window).load(function(){

    //set a cookie 
    $.cookie('welcome_cookie', 'welcome');

    //check for the cookie and call the pause function
    if($.cookie('welcome_cookie')){
        controlPlayback('pause');
    }
});

Это работает, но видео останавливается в первый раз ... Как сделать так, чтобы функция воспроизведения запускалась только при возврате на эту страницу?

Ответы [ 2 ]

4 голосов
/ 15 февраля 2012

Просто измените порядок, чтобы установить cookie после первой проверки;

//wait until everything has loaded
$(window).load(function(){

    //check for the cookie and call the pause function
    if($.cookie('welcome_cookie')){
        controlPlayback('pause');
    }

    //set a cookie 
    $.cookie('welcome_cookie', 'welcome');
});

Возможно, вам не нужно устанавливать cookie-файл при каждой загрузке страницы, так почему бы просто не установить cookie-файл, если он не установлен;

//check for the cookie and call the pause function
if($.cookie('welcome_cookie')){
    //pause video player
    controlPlayback('pause');
} else {
  //set a cookie 
  $.cookie('welcome_cookie', 'welcome');
}
2 голосов
/ 15 февраля 2012

Зачем вам нужен cookie для этого, cookie передается на сервер и с сервера при каждом запросе и ответе соответственно.Таким образом, вы отправляете туда и обратно данные, которые вам действительно не нужны на сервере.Что вам действительно нужно, это местное хранилище.

$(window).load(function(){

    //If not first visit then pause
    if(localStorage['not_first_visit']){
        controlPlayback('pause');
    }

    //Set  
    localStorage('not_first_visit')=true;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...