cookie Property

Internet Development Index

Sets or retrieves the string value of a cookie.

Syntax

document.cookie [ = sCookie ]

Possible Values

sCookieString that specifies or receives the name=value; pairs, plus any of the values listed in Possible Values.
expires=date;Setting no expiration date on a cookie causes it to expire when the browser closes. If you set an expiration date in the future, the cookie is saved across browser sessions. If you set an expiration date in the past, the cookie is deleted. Use GMT format to specify the date.
domain=domainname;Setting the domain of the cookie allows pages on a domain made up of more than one server to share cookie information.
path=path;Setting a path for the cookie allows the current document to share cookie information with other pages within the same domain—that is, if the path is set to /thispathname, all pages in /thispathname and all pages in subfolders of /thispathname can access the same cookie information.
secure;Setting a cookie as secure; means the stored cookie information can be accessed only from a secure environment.

The property is read/write. The property has no default value.

Expressions can be used in place of the preceding value(s), as of Microsoft® Internet Explorer 5. For more information, see About Dynamic Properties.

Remarks

A cookie is a small piece of information stored by the browser. Each cookie is stored in a name=value; pair called a crumb—that is, if the cookie name is "id" and you want to save the id's value as "this", the cookie would be saved as id=this. You can store up to 20 name=value pairs in a cookie, and the cookie is always returned as a string of all the cookies that apply to the page. This means that you must parse the string returned to find the values of individual cookies.

Cookies accumulate each time the property is set. If you try to set more than one cookie with a single call to the property, only the first cookie in the list will be retained.

You can use the Microsoft® JScript®?A HREF="/library/en-us/script56/html/vtoriMicrosoftWindowsScriptTechnologies.html" TARGET="_top">split method to extract a value stored in a cookie.

Examples

This example creates a cookie with a specified name and value. The value is passed to the JScript?B>escape function to ensure that the value only contains valid characters. When the cookie is retrieved, the JScript unescape function should be used to translate the value back to its original form.

<SCRIPT>
// Create a cookie with the specified name and value.
// The cookie expires at the end of the 20th century.
function SetCookie(sName, sValue)
{
date = new Date();
document.cookie = sName + "=" + escape(sValue) + "; expires=" + date.toGMTString();
}
</SCRIPT>

This example retrieves the value of the portion of the cookie specified by the sCookie parameter.

<SCRIPT>
// Retrieve the value of the cookie with the specified name.
function GetCookie(sName)
{
// cookies are separated by semicolons
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
// a name/value pair (a crumb) is separated by an equal sign
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
// a cookie with the requested name does not exist
return null;
}
</SCRIPT>

This example deletes a cookie by setting its expires attribute to a past date. A cookie deleted in this manner might not be removed immediately by the browser.

<SCRIPT>
// Delete the cookie with the specified name.
function DelCookie(sName)
{
document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}
</SCRIPT>

Standards Information

This property is defined in World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1 Non-Microsoft link.

Applies To

document

See Also

Introduction to Persistence, Privacy in Internet Explorer 6