javascript - как удалить странный повар ie с пустым значением? - PullRequest
4 голосов
/ 24 января 2020

Случайно моя веб-страница создала странный повар ie с пустым значением (возможно, какое-то исключение, что значение, данное моей функции cookie_create(cname,cvalue), было пустой строкой cvalue = "", но извините, я не знаю, как воспроизвести это ). (Конечно, в будущем я добавлю несколько строк для обработки исключения, когда cvalue == ""), но теперь я не могу удалить этот повар ie, никоим образом, из консоли javasctript (я не хочу удалять все История браузера + Cook ie данных, поэтому мне нужно сделать это из консоли). Я выполняю

document.cookie

вывод:

"dGVzdF9tYWx5=eyJ1c3Jfc19pbnB1dCI6Ijk0MCIsIm04X3BlcmlvZF9zbGlkZXIiOiIyMCIsInJldm1zX2lucHV0IjoiMCIsInYxX3NlbGVjdCI6IjEiLCJtOF9hbmdsZTFfbWluX3NsaWRlciI6Ii0zIiwibThfYW5nbGUxX21heF9zbGlkZXIiOiIzIiwidjJfc2VsZWN0IjoiMiIsIm04X2FuZ2xlMl9taW5fc2xpZGVyIjoiLTMiLCJtOF9hbmdsZTJfbWF4X3NsaWRlciI6IjMiLCJ2M19zZWxlY3QiOiIyIiwibThfaGVpZ2h0X21pbl9zbGlkZXIiOiIwIiwibThfaGVpZ2h0X21heF9zbGlkZXIiOiIxMCJ9; SG9kbsSbIHZlbGvDoSBvc21pxI1rYSAlPcKw=eyJ1c3Jfc19pbnB1dCI6IjM0MzUiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiNjgiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItMTEiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjExIiwidjJfc2VsZWN0IjoiMiIsIm04X2FuZ2xlMl9taW5fc2xpZGVyIjoiLTExIiwibThfYW5nbGUyX21heF9zbGlkZXIiOiIxMSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjM0In0; eyJ1c3Jfc19pbnB1dCI6IjAiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiMzIiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMV9tYXhfc2xpZGVyIjoiNSIsInYyX3NlbGVjdCI6IjIiLCJtOF9hbmdsZTJfbWluX3NsaWRlciI6Ii01IiwibThfYW5nbGUyX21heF9zbGlkZXIiOiI1IiwidjNfc2VsZWN0IjoiMiIsIm04X2hlaWdodF9taW5fc2xpZGVyIjoiNDAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjYwIn0; ZGVmYXVsdA=eyJ1c3Jfc19pbnB1dCI6IjM2IiwibThfcGVyaW9kX3NsaWRlciI6IjMyIiwicmV2bXNfaW5wdXQiOiIwIiwidjFfc2VsZWN0IjoiMSIsIm04X2FuZ2xlMV9taW5fc2xpZGVyIjoiLTUiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjUiLCJ2Ml9zZWxlY3QiOiIyIiwibThfYW5nbGUyX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMl9tYXhfc2xpZGVyIjoiNSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjQwIiwibThfaGVpZ2h0X21heF9zbGlkZXIiOiI2MCJ9; ZGVmYXVsdDI=eyJ1c3Jfc19pbnB1dCI6Ijg4IiwibThfcGVyaW9kX3NsaWRlciI6IjMyIiwicmV2bXNfaW5wdXQiOiIwIiwidjFfc2VsZWN0IjoiMSIsIm04X2FuZ2xlMV9taW5fc2xpZGVyIjoiLTUiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjUiLCJ2Ml9zZWxlY3QiOiIyIiwibThfYW5nbGUyX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMl9tYXhfc2xpZGVyIjoiNSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjQwIiwibThfaGVpZ2h0X21heF9zbGlkZXIiOiI3OCJ9"

(это кодированное имя b64 и закодированные данные b64 - 5 файлов cookie, 4 с длинным значением, 1 команда ie) длинное имя без значения, без части "=") это только странный повар ie из приведенных выше кодированных данных:

eyJ1c3Jfc19pbnB1dCI6IjAiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiMzIiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMV9tYXhfc2xpZGVyIjoiNSIsInYyX3NlbGVjdCI6IjIiLCJtOF9hbmdsZTJfbWluX3NsaWRlciI6Ii01IiwibThfYW5nbGUyX21heF9zbGlkZXIiOiI1IiwidjNfc2VsZWN0IjoiMiIsIm04X2hlaWdodF9taW5fc2xpZGVyIjoiNDAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjYwIn0;

затем я хочу удалить странного повара ie с помощью пустое значение, введите this

document.cookie = "eyJ1c3Jfc19pbnB1dCI6IjAiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiMzIiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMV9tYXhfc2xpZGVyIjoiNSIsInYyX3NlbGVjdCI6IjIiLCJtOF9hbmdsZTJfbWluX3NsaWRlciI6Ii01IiwibThfYW5nbGUyX21heF9zbGlkZXIiOiI1IiwidjNfc2VsZWN0IjoiMiIsIm04X2hlaWdodF9taW5fc2xpZGVyIjoiNDAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjYwIn0=;expires=Thu, 23 Jan 1970 00:00:01 GMT;path=/";

, но ни в коем случае не удаляется (тот же вывод document.cookie, что и раньше ... поэтому я пытаюсь удалить еще один

document.cookie = "dGVzdF9tYWx5=;expires=Thu, 23 Jan 1970 00:00:01 GMT;path=/";

успех, он удален, но странный удалить невозможно (перепробовал много вариантов, разное время, непустое значение, с / без указания пути)

"SG9kbsSbIHZlbGvDoSBvc21pxI1rYSAlPcKw=eyJ1c3Jfc19pbnB1dCI6IjM0MzUiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiNjgiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItMTEiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjExIiwidjJfc2VsZWN0IjoiMiIsIm04X2FuZ2xlMl9taW5fc2xpZGVyIjoiLTExIiwibThfYW5nbGUyX21heF9zbGlkZXIiOiIxMSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjM0In0; eyJ1c3Jfc19pbnB1dCI6IjAiLCJtOF9wZXJpb2Rfc2xpZGVyIjoiMzIiLCJyZXZtc19pbnB1dCI6IjAiLCJ2MV9zZWxlY3QiOiIxIiwibThfYW5nbGUxX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMV9tYXhfc2xpZGVyIjoiNSIsInYyX3NlbGVjdCI6IjIiLCJtOF9hbmdsZTJfbWluX3NsaWRlciI6Ii01IiwibThfYW5nbGUyX21heF9zbGlkZXIiOiI1IiwidjNfc2VsZWN0IjoiMiIsIm04X2hlaWdodF9taW5fc2xpZGVyIjoiNDAiLCJtOF9oZWlnaHRfbWF4X3NsaWRlciI6IjYwIn0; ZGVmYXVsdA=eyJ1c3Jfc19pbnB1dCI6IjM2IiwibThfcGVyaW9kX3NsaWRlciI6IjMyIiwicmV2bXNfaW5wdXQiOiIwIiwidjFfc2VsZWN0IjoiMSIsIm04X2FuZ2xlMV9taW5fc2xpZGVyIjoiLTUiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjUiLCJ2Ml9zZWxlY3QiOiIyIiwibThfYW5nbGUyX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMl9tYXhfc2xpZGVyIjoiNSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjQwIiwibThfaGVpZ2h0X21heF9zbGlkZXIiOiI2MCJ9; ZGVmYXVsdDI=eyJ1c3Jfc19pbnB1dCI6Ijg4IiwibThfcGVyaW9kX3NsaWRlciI6IjMyIiwicmV2bXNfaW5wdXQiOiIwIiwidjFfc2VsZWN0IjoiMSIsIm04X2FuZ2xlMV9taW5fc2xpZGVyIjoiLTUiLCJtOF9hbmdsZTFfbWF4X3NsaWRlciI6IjUiLCJ2Ml9zZWxlY3QiOiIyIiwibThfYW5nbGUyX21pbl9zbGlkZXIiOiItNSIsIm04X2FuZ2xlMl9tYXhfc2xpZGVyIjoiNSIsInYzX3NlbGVjdCI6IjIiLCJtOF9oZWlnaHRfbWluX3NsaWRlciI6IjQwIiwibThfaGVpZ2h0X21heF9zbGlkZXIiOiI3OCJ9"

как это возможно? глючит Повар, не подлежащий восстановлению ie?

Ответы [ 2 ]

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

Чтобы удалить повара ie, вам просто нужно установить значение повара ie на пустое и установить значение expires на прошедшую дату.

document.cook ie = "cookiename =; expires = четверг, 01 января 1970 г. 00:00:00 по Гринвичу"

Это может помочь вам https://www.guru99.com/cookies-in-javascript-ultimate-guide.html

0 голосов
/ 28 января 2020

Я наконец обнаружил, что это был повар ie с пустым именем !! Так что это помогло удалить его:

document.cookie = "=;expires=Thu, 23 Jan 1970 00:00:01 GMT;path=/";

Так что разница между выходом document.cook ie с / без "=" в конце помогла его устранить. Это была не ошибка ie cook, она была создана cname = "" и cvalue = [longdata] ...

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