如何設定無過期日期的 JavaScript Cookie?
在本教程中,我們將學習如何設定一個無過期日期的 JavaScript cookie。Web 伺服器會向瀏覽器傳送 cookie,cookie 是包含唯一識別符號的小型檔案。每次瀏覽器請求新頁面時,伺服器都會收到這些 cookie。它允許網站跟蹤您的偏好和線上行為。
JavaScript cookie 中的過期選項是可選的。“expires” 屬性是可選的。如果您為該屬性提供有效的日期或時間,則 cookie 將在給定的日期或時間過期,之後將無法訪問 cookie 的值。
語法
現在讓我們來看一下設定無過期日期的 JavaScript cookie 的語法:
var allcookies = document.cookie;
document.write ("All Cookies : " + allcookies );
在語法中,我們使用 'document.cookie' 方法可以獲取文件的所有 cookie 並將它們儲存在一個變數中。正如我們上面看到的,expire 屬性是可選的,如果使用者沒有定義過期的時間或日期,則它將始終被呼叫。
演算法
我們已經看到了上面設定無過期日期的 JavaScript cookie 的語法,現在我們將一步一步地瞭解完整的步驟:
首先,我們將在程式碼主體中建立一個表單,在主體中定義一些輸入欄位。
在表單中使用 button 標籤,我們將建立一個按鈕,在這個按鈕中我們將定義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()方法獲取這些 cookie。
此外,我們使用 split 函式將所有 cookie 分隔儲存到陣列中,然後分別列印每個 cookie。為了分別列印它們,我們遍歷了陣列,並在每次迭代中列印值和名稱。
注意 - Cookie 有保質期。當瀏覽器關閉時,沒有定義過期日期的 cookie 也將被刪除。因為它們在瀏覽器會話結束後被刪除,所以有時它們被稱為會話 cookie(當瀏覽器關閉時)。瀏覽器將刪除過期日期在過去的 cookie。設定過期日期並將其儲存在 cookie 中將延長其生命週期,超過當前瀏覽器會話。您可以透過在“expires”屬性中輸入日期和時間來實現此目的。
結論
在本教程中,我們學習瞭如何設定無過期日期的 JavaScript cookie。Web 伺服器會向瀏覽器傳送 cookie,cookie 是包含唯一識別符號的小型檔案。每次瀏覽器請求新頁面時,伺服器都會收到這些 cookie。JavaScript cookie 中的過期選項是可選的。“expires”屬性是可選的。如果您為該屬性提供有效的日期或時間,則 cookie 將在給定的日期或時間過期,之後將無法訪問 cookie 的值。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP