document.cookie is like a string, but it is not a string. To quote the example from the Mozilla doc:
document.cookie = \"name=oeschger\";
docume
I know this is an old topic, but in my case expiring cookies was necessary so here's a solution that combines the above answers and a setTimeout call to expire cookies after X seconds:
const fakeCookies = {
// cookie jar
all: {},
// timeouts
timeout: {},
// get a cookie
get: function(name)
{
return this.all[ name ]
},
// set a cookie
set: function(name, value, expires_seconds)
{
this.all[ name ] = value;
if ( expires_seconds ) {
! this.timeout[ name ] || clearTimeout( this.timeout[ name ] )
this.timeout[ name ] = setTimeout(() => this.unset(name), parseFloat(expires_seconds) * 1000)
}
},
// delete a cookie
unset: function(name)
{
delete this.all[ name ]
}
}