Javascript создает файл cookie каждый час, если файл cookie не существует, и если файл cookie существует : сделайте перенаправление на другой URL

#javascript #redirect #cookies #settimeout

#язык JavaScript #перенаправлять #файлы cookie #время ожидания

Вопрос:

Я пытаюсь создать функцию, которая будет создавать файлы cookie каждый час (и функция будет проверять, не существует ли этот файл cookie, каждый час), и если файл cookie существует, функция будет перенаправлять на другую страницу с помощью settimeout()каждую минуту. Я прикрепил код, который я сделал, но он работает не так, как ожидалось, потому что я не знаю, как сделать первую часть :

 lt;scriptgt; function redirect(){ /**create cookie every hour, check if cookie exists, if not create and redirect the page every one mintue***/  document.cookie = 'createCookie=ok';  let createCookie = document.cookie;  /**create cookie every hour, check if cookie exists, if not create and redirect the page every one mintue***/    setTimeout(function(){   if(createCookie != null){  //if cookie set  window.location.href='https://www.google.com/';  }  else{  //if cookie not set  }   }, 60000);  redirect();//to recall the script after it is done } lt;/scriptgt;  

Комментарии:

1. Описание и комментарии противоречат друг другу. В описании: «если файл cookie существует, функция выполнит перенаправление на другую страницу» , в комментариях: «если нет, создайте и перенаправьте страницу»

Ответ №1:

Однако это не рекомендуемый подход, так как вы нигде не очищаете интервал, но вот вы идете:

 function redirect() {  document.cookie = 'createCookie=ok';  let createCookie = document.cookie;   setInterval(function() {  if (createCookie != null) {  //if cookie set  window.location.href = 'https://www.google.com/';  } else {  document.cookie = 'createCookie=ok';  let createCookie = document.cookie;  }   }, 60000);  }  redirect() 

Комментарии:

1. Спасибо! однако это хорошее направление — как я могу настроить набор файлов cookie и проверять, что происходит каждый ЧАС ? ни минуты (60000) ?

2. Обмен 60000 с 3600000