mozilla-doc-cookies
v1.0.3
Published
A little framework: a complete cookies reader/writer with full unicode support
Downloads
155
Readme
This module was taken from a code snippet on the MDN docs for
document.cookie
. It has been published as an npm module to facilitate use.
doc-cookies
A little framework: a complete cookies reader/writer with full unicode support
Sometimes, cookies being formatted strings, it can be intricate to deal with them in a natural way. The following library aims to abstract the access to document.cookie by defining an object (docCookies) that is partially consistent with a Storage object. It offers also a full unicode support.
Note: For never-expire-cookies we used the arbitrarily distant date Fri, 31 Dec 9999 23:59:59 GMT. If for any reason you are afraid of such a date, use the conventional date of end of the world Tue, 19 Jan 2038 03:14:07 GMT – which is the maximum number of seconds elapsed since since 1 January 1970 00:00:00 UTC expressible by a signed 32-bit integer (i.e.: 01111111111111111111111111111111, which is
new Date(0x7fffffff * 1e3)
).
Writing a cookie
Syntax
docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
Description
Create/overwrite a cookie.
Parameters
Getting a cookie
Syntax
docCookies.getItem(name)
Description
Read a cookie. If the cookie doesn't exist a null
value will be returned.
Parameters
Removing a cookie
Syntax
docCookies.removeItem(name[, path[, domain]])
Description
Delete a cookie.
Parameters
Testing a cookie
Syntax
docCookies.hasItem(name)
Description
Check whether a cookie exists in the current position.
Parameters
Getting the list of all cookies
Syntax
docCookies.keys()
Description
Returns an array of all readable cookies from this location.
Example usage:
docCookies.setItem("test0", "Hello world!");
docCookies.setItem("test1", "Unicode test: \u00E0\u00E8\u00EC\u00F2\u00F9", Infinity);
docCookies.setItem("test2", "Hello world!", new Date(2020, 5, 12));
docCookies.setItem("test3", "Hello world!", new Date(2027, 2, 3), "/blog");
docCookies.setItem("test4", "Hello world!", "Wed, 19 Feb 2127 01:04:55 GMT");
docCookies.setItem("test5", "Hello world!", "Fri, 20 Aug 88354 14:07:15 GMT", "/home");
docCookies.setItem("test6", "Hello world!", 150);
docCookies.setItem("test7", "Hello world!", 245, "/content");
docCookies.setItem("test8", "Hello world!", null, null, "example.com");
docCookies.setItem("test9", "Hello world!", null, null, null, true);
docCookies.setItem("test1;=", "Safe character test;=", Infinity);
alert(docCookies.keys().join("\n"));
alert(docCookies.getItem("test1"));
alert(docCookies.getItem("test5"));
docCookies.removeItem("test1");
docCookies.removeItem("test5", "/home");
alert(docCookies.getItem("test1"));
alert(docCookies.getItem("test5"));
alert(docCookies.getItem("unexistingCookie"));
alert(docCookies.getItem());
alert(docCookies.getItem("test1;="));