Настройка cook ie в Inte rnet Explorer 3.0? - PullRequest
1 голос
/ 31 января 2020

У меня проблемы с настройкой файлов cookie сеанса в Inte rnet Explorer 3.0. Кто-нибудь знает, есть ли что-то особенное, что нужно сделать?

Я делаю с PHP, вот так: setcookie('test', '1');

Я не использую путь или срок действия время, это необходимо?

Возможно, у кого-то есть какой-то старый опыт или книга веб-разработки 1997-1998 годов?

На случай, если кому-то интересно, почему я беспокоюсь об этом, потому что никто больше не использует IE3, и это тяжело, yadda yadda, это арт-проект.

Редактировать: Просто чтобы прояснить, я еще не пробовал устанавливать куки через JS, это делается через HTTP.

Ответы [ 2 ]

1 голос
/ 31 января 2020

Я не уверен, что setCookie был в это время. Тем не менее, вы можете использовать более старый способ установки повара ie, который равен

document.cookie = "someCookie=someCookievalue"

или

document.cookie += "someCookie=someCookievalue"

, если вы не хотите переопределять повар ie.

Затем вы можете получить его, используя свойство document.cookie. Это вернет строку всего повара ie. Вы можете разобрать их с помощью этой функции.

function parseCookie(cookiesString) {
  var cookiesOutput = {};
  var cookieKeysAndValue = cookiesString.split(';');
  for(var i = 0; i < cookieKeysAndValue.length; i++){
   var keyAndValue = cookieKeysAndValue[i].split('=');
   cookiesOutput[keyAndValue[0]] = keyAndValue[1];
  }
  return cookiesOutput
}

document.cookie = 'someCookie=SomeCookieValue';
console.log(parseCookie(document.cookie));

Я не уверен на 100%, что это будет работать, поскольку, вы знаете, вы используете Inte rnet Explorer 3. Но это стоит того.

Если вам нужна дополнительная информация об этом, вы можете проконсультироваться с MDN: c

PS Я пытался что-то написать старый javascript введите столько, сколько я мог, но там все еще могут быть некоторые ошибки. Я уже скучаю по функции современного браузера.

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

Итак, я дошел до сути этой проблемы, и у меня было три причины путаницы:

Во-первых, если вы не установили параметр path = для cook ie, IE3 будет предполагать, что повар ie предназначен для этот точный путь только . Это означает, что при повторном доступе к /test.php он отправит обратно того же самого повара ie, но нигде на сайте.

Решение состоит в том, чтобы включить путь = / при установке повара ie.

Во-вторых, IE3 не распознает файлы cookie без параметра Expires. Решение состоит в том, чтобы включить Expires = в заголовок Set-Cook ie, в «стандартный» формат cook ie.

Третий вызван новым параметром Max-Age, который был добавлен * 1027. * по какой-то причине, которую IE3 не распознает. Вместо этого он принимает все, вплоть до Max-Age, включая имя повара ie.

Решение состоит в том, чтобы установить повара ie, используя вместо этого функцию PHP header(), например, так :

header('Set-Cookie: test2=hi; expires=Tue, 02-Feb-2021 04:20:00 GMT; path=/');

(в данном случае test2 - это имя повара ie, hi - это содержимое, срок действия которого истекает примерно через год с сегодняшнего дня, 2 февраля. )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...