JSFiddle - React, Tailwind, and code Playground
JavaScript
function expireAllCookies(name, paths) {
var expires = new Date(0).toUTCString();
// expire null-path cookies as well
document.cookie = name + '=; expires=' + expires;
for (var i = 0, l = paths.length; i < l; i++) {
document.cookie = name + '=; path=' + paths[i] + '; expires=' + expires;
}
}
function expireActiveCookies(name) {
var pathname = location.pathname.replace(/\/$/, ''),
segments = pathname.split('/'),
paths = [];
for (var i = 0, l = segments.length, path; i < l; i++) {
path = segments.slice(0, i + 1).join('/');
paths.push(path); // as file
paths.push(path + '/'); // as directory
}
expireAllCookies(name, paths);
}
function display() {
document.write('<pre>' + (document.cookie || '{blank}') + '</pre>');
}
function create() {
document.cookie = 'name=value1';
document.cookie = 'name=value2; path=/';
document.cookie = 'name=value3; path=/_display/';
}
function expire() {
expireAllCookies('name', ['/', '/_display/']);
}
function expireActive() {
expireActiveCookies('name');
}
display();
create();
display();
expire();
display();
create();
display();
expireActive();
display();