Перезаписать значение в document.cookie

Я провожу тест AB с помощью Google 360 ​​и хочу переключать варианты в своем браузере.

Я могу сделать это, обновив значение файла cookie _gaexp в своем браузере. Например, это будет выглядеть так:

"_gaexp: ВАРИАНТ_0"`.

Если я использую расширение Chrome EditThisCookie и изменю значение на VARIANT_0 и обновлю свой браузер, я увижу свой текст Variant 0 в своем браузере.

Однако я хочу динамически обновлять это через JavaScript (например, скажем, по клику).

Просматривая консоль, я вижу, что у меня есть доступ к document.cookie, который содержит следующие кулинарные изделия:

"_gaexp=VARIANT_0; _ga=EXAMPLE_B; _gid=EXAMPLE_C"

Если я попытаюсь обновить _gaexp через консоль до VARIANT_1, мой файл cookie не обновится. Вот что я пытаюсь:

document.cookie = "_gaexp=VARIANT_1";
document.cookie;
"_gaexp=VARIANT_0; _ga=EXAMPLE_B; _gid=EXAMPLE_C, _gaexp=VARIANT_1"

Кажется, я добавляю дубликат файла cookie с тем же именем, но я просто хочу:

  • Замените эту готовку через консоль с помощью JavaScript.
  • И затем, в конце концов, я бы написал дополнительный JS для обновления браузера (с обновленным файлом cookie).

Что я делаю не так?

Спасибо.


person Reena Verma    schedule 04.06.2020    source источник


Ответы (1)


Все в порядке, я понял это!

Просто нужно изменить временные метки, чтобы удалить их:

// Delete
document.cookie = '_gaexp=VARIANT_0; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=.mysite.co.uk'

// Add
document.cookie = '_gaexp=VARIANT_1; expires=Fri, 19 Jun 2020 20:47:11 UTC; path=/; domain=.mysite.co.uk'
person Reena Verma    schedule 05.06.2020