Firefox удаляет постоянные куки - PullRequest
1 голос
/ 21 февраля 2020

Я пытался заставить работать систему выбора языка на основе html/js, и мне нужен постоянный повар ie для нее, который сохраняет выбор языка, который сделал пользователь, на определенное время.

К сожалению, этот повар ie ошибочно принимается Firefox за повара отслеживания активности ie (что он вроде) и поэтому удаляется по окончании сеанса.

Можно ли как-то предотвратить это?

Если этот скрипт будет работать, мой готовый код должен работать также:

if(document.cookie.indexOf("test=") < 0){
            document.cookie = "test=Hello World; max-age=3600";
        }
else{
            window.location.replace("https://www.youtube.com/");
        }

Что он должен делать:

  1. При первом открытии сайта устанавливается повар ie, и больше ничего не происходит.
  2. Во второй раз пользователь перенаправляется на youtube.com.

Что он делает:

  1. При первом открытии сайта устанавливается повар ie, и больше ничего не происходит.
  2. Если сайт обновляется или открывается в другой вкладке, пользователь получает перенаправлен на youtube.com. Однако, если браузер или вкладка закрыты, повар ie будет потерян, и мы вернемся к шагу 1.

1 Ответ

0 голосов
/ 21 февраля 2020

Я не уверен, я не javascript эксперт. Но я заметил, что большинство документации рекомендуют проверить, существует ли повар ie, и предлагают сделать это следующим образом: document.cookie.indexOf("test="), поэтому, возможно, повар ie не удален, но вы проверите, существует ли повар ie с использованием неправильного Метод.

if(document.cookie.indexOf("test=") < 0){
        document.cookie = "test=Hello World; max-age=3600";
}
else{
        window.location.replace("https://www.youtube.com/");
}
...