Как добавить условие js, чтобы узнать, является ли это первым трафиком за последние n минут

#javascript #html

#язык JavaScript #HTML

Вопрос:

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

 if (condition) {  window.location.href = "http://www.exapmle.com"; } else {  document.getElementById('button-login').click(); }  

Ответ №1:

Вы можете подойти к этому с помощью файлов cookie и установить дату истечения срока действия, но это может вести себя странно, так как некоторые браузеры/версии браузеров обрабатывают файлы cookie по-разному.

Если вы используете ванильный Javascript, отложите свой тег сценария (прочитайте о свойстве defer, если оно для вас новое), например так:

 lt;script defer src="./myScriptFile.js"gt;lt;/scriptgt;  

Проверьте наличие файла cookie, сделайте то, что вам нужно сделать, а затем установите его снова. Ваш файл сценария должен выглядеть следующим образом:

 function getCookie(name) {  const value = `; ${document.cookie}`;  const parts = value.split(`; ${name}=`);  if (parts.length === 2) return parts.pop().split(";").shift(); }  function setLastAccess() {  const date = new Date();  const expireMs = 5 * 60 * 1000; // 5 minutes  date.setTime(date.getTime()   expireMs);  document.cookie = `lastAccess=${new Date().getTime()};expires=${date.toUTCString()};path=/`; }   if(!getCookie('lastAccess')) {  // do what have you have to do when last access was before 5 minutes ago or it's the first access  setLastAccess(); // set your last access at the end } else {  // this will run when last access was not before 5 minutes ago }   

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

1. Во-первых, спасибо за вашу помощь и ваше время, но я хочу сообщить вам, что я использую код js в том же html-файле, а не во внешнем файле js, и я использую этот тег lt;тип сценария=»текст/javascript» gt;lt;тип сценария=»текст/javascript» gt;lt;/скриптgt; так что это проблема

2. возможно, вам придется поместить скрипт из lt;headgt; в lt;headgt;lt;bodygt; и проверить, есть ли какой-либо другой результат