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属性。

1.png

在这个示例中,如果我们为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仅对于给定的子域有效。因此,最好提供域名而不是子域。

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全