如何设置没有到期日期的 JavaScript Cookie?
在本教程中,我们将学习如何设置没有到期日期的 JavaScript cookie 。Web 服务器向浏览器提供 Cookie,这些 Cookie 是通常具有唯一标识符的微型文件。每次浏览器请求新页面时,服务器都会收到这些 Cookie。它允许网站跟踪您的偏好和在线行为。
JavaScript Cookie 中的 expiration 选项是可选的。"expires"属性是可选的。如果您为该属性提供有效的日期或时间,则 Cookie 将在给定的日期或时间到期,此后,Cookie 的值将无法访问。
语法
现在让我们来看看设置没有到期日期的 JavaScript Cookie 的语法 -
var allcookies = document.cookie; document.write ("All Cookies : " + allcookies );
在语法中,通过使用'document.cookie'方法,我们可以获取文档的所有 cookies 并将它们存储在变量中。正如我们上面看到的,expire属性是一个选项,如果用户没有定义它们的过期时间或日期,那么它将始终被调用。
算法
我们已经看到了上面的语法来设置没有过期日期的JavaScript cookie,现在我们将逐步看到完整的方法-
首先,我们将在代码主体中创建一个表单,以定义主体中的一些输入字段。
在使用按钮标签的表单中,我们将创建一个按钮,在其中我们将定义onclick 事件。
当按下按钮时,onclick 事件会导致调用其中定义的函数。
在脚本中,我们将定义函数,首先通过使用"document.write"方法,我们将会获取页面的所有 cookie 并将它们打印出来。
通过使用 split() 方法,我们将所有 cookie 存储在数组的单独索引中。
我们将遍历数组,对于每个索引,我们可以获取当前 cookie 的名称和值,并可以单独打印。
我们已经了解了设置没有到期日期的 JavaScript cookie 的语法和算法,现在让我们举一个例子来实现上面讨论的步骤。
示例
在此示例中,我们将获取文档的所有 cookie 并首先将它们一起打印,然后我们将单独打印它们。
<html> <head> <script> function ReadCookie() { var allcookies = document.cookie; document.write ("All Cookies : " + allcookies ); // Get all the cookies pairs in an array cookiearray = allcookies.split(';'); // Now take key-value pair out of this array for(var i=0; i<cookiearray.length; i++) { name = cookiearray[i].split('=')[0]; value = cookiearray[i].split('=')[1]; document.write ("Key is : " + name + " and Value is : " + value); } } </script> </head> <body> <h3>How to set a javascript cookie with no expiration date</h3> <form name="myform" action=""> <p> click the following button and see the result −</p> <input type="button" value="Get Cookie" onclick="ReadCookie()"/> </form> </body> </html>
在上面的代码中,首先,我们使用 <form> 标记在代码主体中创建了一个表单,其中我们创建了一个按钮,该按钮将调用代码脚本中定义的函数。
在脚本中,我们定义了"ReadCookie"函数,在该函数中我们定义了一个变量 allcookies,该变量将包含文档的所有 cookie,并将使用 document.cookie() 方法获取。
此外,我们使用 split 函数将所有 cookie 分隔在一个数组中,然后以不同的方式打印每个 cookie。为了分别打印它们,我们遍历数组并在每次迭代时打印值和名称。
注意 - Cookie 具有保质期。当浏览器关闭时,没有定义到期日期的 cookie 也将被删除。由于它们在浏览器会话结束后被删除,因此有时被称为会话 cookie(当浏览器关闭时)。浏览器将删除过期日期已过去的 cookie。设置过期日期并将其存储在 cookie 中将延长其使用寿命,使其超出当前浏览器会话。您可以通过在"expires"属性中输入日期和时间来实现这一点。
结论
在本教程中,我们学习了如何设置没有过期日期的 JavaScript cookie。Web 服务器向浏览器提供 cookie,这些 cookie 是通常具有唯一标识符的小文件。每次浏览器请求新页面时,服务器都会收到这些 cookie。JavaScript cookie 中的过期选项是可选的。"expires"属性是可选的。如果您为该属性提供有效的日期或时间,则 cookie 将在给定的日期或时间过期,此后,cookie 的值将无法访问。