javascript - Why can't I delete this cookie from the dev tools console? -
i have cookies control column layout in grid. set javascript on page , server has/had nothing them. i'd clear them using button in js (reset defaults). problem seem impossible delete unless use browser gui it.
i've read numerous posts, tried of them, https://developer.mozilla.org/en-us/docs/web/api/document.cookie , doccookies library.
here transcript dev tools console, shows how tenacious these cookies are:
>document.cookie="food=hotdog" "food=hotdog" >doccookies.keys() ["food", "ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("ext-history-results") true >doccookies.keys() ["food", "ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("food") true >doccookies.keys() ["ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("ext-history-results") true >doccookies.keys() ["ext-history-results", "ext-today-summaries", "csrftoken"] >document.cookie="food=hotdog" "food=hotdog" >doccookies.keys() ["food", "ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("ext-history-results") true >doccookies.keys() ["food", "ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("food") true >doccookies.keys() ["ext-history-results", "ext-today-summaries", "csrftoken"] //csrftoken set server >doccookies.removeitem("csrftoken") true >doccookies.keys() ["ext-history-results", "ext-today-summaries", "csrftoken"] >doccookies.removeitem("ext-today-summaries") true >document.cookie // output wrapped "clarity" "ext-history-results=o%3acolumns%3da%253ao%25253aid%25253ds%2525253ah9%255eo%25253aid%25253ds%2525253aext-gen1133%255eo%25253aid%25253ds%2525253ah1%255eo%25253aid%25253ds%2525253ah2%255eo%25253aid%25253ds%2525253ah3%255eo%25253aid%25253ds%2525253ah4%255eo%25253aid%25253ds%2525253ah5%255eo%25253aid%25253ds%2525253ah6%255eo%25253aid%25253ds%2525253ah7%255eo%25253aid%25253ds%2525253ah8%5esort%3do%253aproperty%253ds%25253agrouper%255edirection%253ds%25253aasc%255eroot%253ds%25253adata; ext-today-summaries=o%3acolumns%3da%253ao%25253aid%25253ds%2525253ah1%255eo%25253aid%25253ds%2525253ah2%255eo%25253aid%25253ds%2525253ah3%255eo%25253aid%25253ds%2525253ah4%255eo%25253aid%25253ds%2525253ah5%255eo%25253aid%25253ds%2525253ah6%255eo%25253aid%25253ds%2525253ah7%255eo%25253aid%25253ds%2525253ah8%255eo%25253aid%25253ds%2525253ah9%5esort%3do%253aproperty%253ds%25253abox%255edirection%253ds%25253aasc%255eroot%253ds%25253adata; csrftoken=rmylasynxjpz8pmpn2gmvyxcscmqgx5w"
why can't delete these cookies?
and doccookies code below (it on link above well, in case link changes)
/*\ |*| |*| :: cookies.js :: |*| |*| complete cookies reader/writer framework full unicode support. |*| |*| https://developer.mozilla.org/en-us/docs/dom/document.cookie |*| |*| framework released under gnu public license, version 3 or later. |*| http://www.gnu.org/licenses/gpl-3.0-standalone.html |*| |*| syntaxes: |*| |*| * doccookies.setitem(name, value[, end[, path[, domain[, secure]]]]) |*| * doccookies.getitem(name) |*| * doccookies.removeitem(name[, path], domain) |*| * doccookies.hasitem(name) |*| * doccookies.keys() |*| \*/ var doccookies = { getitem: function (skey) { return decodeuricomponent(document.cookie.replace(new regexp("(?:(?:^|.*;)\\s*" + encodeuricomponent(skey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null; }, setitem: function (skey, svalue, vend, spath, sdomain, bsecure) { if (!skey || /^(?:expires|max\-age|path|domain|secure)$/i.test(skey)) { return false; } var sexpires = ""; if (vend) { switch (vend.constructor) { case number: sexpires = vend === infinity ? "; expires=fri, 31 dec 9999 23:59:59 gmt" : "; max-age=" + vend; break; case string: sexpires = "; expires=" + vend; break; case date: sexpires = "; expires=" + vend.toutcstring(); break; } } document.cookie = encodeuricomponent(skey) + "=" + encodeuricomponent(svalue) + sexpires + (sdomain ? "; domain=" + sdomain : "") + (spath ? "; path=" + spath : "") + (bsecure ? "; secure" : ""); return true; }, removeitem: function (skey, spath, sdomain) { if (!skey || !this.hasitem(skey)) { return false; } document.cookie = encodeuricomponent(skey) + "=; expires=thu, 01 jan 1970 00:00:00 gmt" + ( sdomain ? "; domain=" + sdomain : "") + ( spath ? "; path=" + spath : ""); return true; }, hasitem: function (skey) { return (new regexp("(?:^|;\\s*)" + encodeuricomponent(skey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie); }, keys: /* optional method: can safely remove it! */ function () { var akeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/); (var nidx = 0; nidx < akeys.length; nidx++) { akeys[nidx] = decodeuricomponent(akeys[nidx]); } return akeys; } };
after posted question, saw link on right hand side of page
the first answer (from andreas peterson) had answer:
doccookies.removeitem("ext-today-summaries", '/')
will remove cookie. path has specified, or won't delete.
Comments
Post a Comment