JavaScript教程-Cookie属性
JavaScript提供了一些可选属性,可以增强Cookie的功能。以下是一些属性及其描述的列表。
属性 | 描述 |
---|---|
expires | 该属性将维持Cookie状态,直到指定的日期和时间。 |
max-age | 该属性将维持Cookie状态,直到指定的时间。时间以秒为单位。 |
path | 该属性将扩展Cookie的范围到网站的所有页面。 |
domain | 该属性用于指定Cookie有效的域。 |
Cookie expires属性
Cookie的expires属性提供了创建持久性Cookie的一种方式。在这里,声明了一个代表Cookie的活动期的日期和时间。一旦经过了声明的时间,Cookie会自动删除。
让我们看一个cookie expires属性的示例。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="button" value="设置Cookie" onclick="setCookie()">
<input type="button" value="获取Cookie" onclick="getCookie()">
<script>
function setCookie() {
document.cookie = "username=Duke Martin; expires=Sun, 20 Aug 2030 12:00:00 UTC";
}
function getCookie() {
if (document.cookie.length != 0) {
var array = document.cookie.split("=");
alert("名称=" + array[0] + " 值=" + array[1]);
} else {
alert("Cookie不可用");
}
}
</script>
</body>
</html>
Cookie max-age属性
Cookie的max-age属性提供了另一种创建持久性Cookie的方式。在这里,时间以秒为单位进行声明。Cookie仅在声明的时间内有效。
让我们看一个cookie max-age属性的示例。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="button" value="设置Cookie" onclick="setCookie()">
<input type="button" value="获取Cookie" onclick="getCookie()">
<script>
function setCookie() {
document.cookie = "username=Duke Martin; max-age=" + (60 * 60 * 24 * 365) + ";";
}
function getCookie() {
if (document.cookie.length != 0) {
var array = document.cookie.split("=");
alert("名称=" + array[0] + " 值=" + array[1]);
} else {
alert("Cookie不可用");
}
}
</script>
</body>
</html>
Cookie path属性
如果为网页创建了一个Cookie,默认情况下,它只在当前目录和子目录中有效。JavaScript提供了path属性,以将Cookie的范围扩展到网站的所有页面。
Cookie path属性示例
让我们通过示例了解path属性。
在这个示例中,如果我们为webpage2.html创建一个Cookie,它只对自身和其子目录(即webpage3.html)有效。它对webpage1.html文件无效。
在此示例中,我们使用path属性来将Cookie的可见性扩展到所有页面。您只需维护上面的目录结构,并在所有三个网页中放置下面的程序。现在,Cookie对每个网页都有效。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="button" value="设置Cookie" onclick="setCookie()">
<input type="button" value="获取Cookie" onclick="getCookie()">
<script>
function setCookie() {
document.cookie = "username=Duke Martin; max-age=" + (60 * 60 * 24 * 365) + "; path=/;";
}
function getCookie() {
if (document.cookie.length != 0) {
var array = document.cookie.split("=");
alert("名称=" + array[0] + " 值=" + array[1]);
} else {
alert("Cookie不可用");
}
}
</script>
</body>
</html>
Cookie domain属性
JavaScript的domain属性指定Cookie有效的域。假设我们将任何域名提供给该属性,例如:
domain=javatpoint.com
在这里,Cookie对于给定的域及其所有子域有效。
然而,如果我们为该属性提供任何子域,例如:
domain=training.javatpoint.com
在这里,Cookie仅对于给定的子域有效。因此,最好提供域名而不是子域。