Javascript教學
JavaScript語法
在瀏覽器中啓用JavaScript
在HTML文件放置JavaScript
JavaScript變量和數據類型
JavaScript運算符
JavaScript if...else語句
JavaScript Switch Case
JavaScript while循環
JavaScript for循環
JavaScript for...in 循環
JavaScript循環控制
JavaScript函數
JavaScript嵌套函數
JavaScript Function() 構造
JavaScript函數字面值
JavaScript事件
JavaScript Cookies
JavaScript頁面重定向
JavaScript頁面刷新
JavaScript對話框
JavaScript void關鍵詞
Javascript頁面打印
JavaScript對象
Javascript Number對象
Javascript Number.MAX_VALUE
Javascript Number.MIN_VALUE
Javascript Number.NaN
Javascript Number.NEGATIVE_INFINITY
Javascript Number.POSITIVE_INFINITY
Javascript Object.prototype
Javascript Boolean對象
JavaScript Boolean.constructor()方法
Javascript Boolean.toSource()方法
Javascript Boolean.toString()方法
Javascript Boolean.valueOf()方法
Javascript String對象
Javascript String.constructor屬性
Javascript String.length屬性
Javascript String.charAt()方法
Javascript String.charCodeAt()方法
Javascript String.concat()方法
Javascript String.lastIndexOf()方法
Javascript String.localeCompare()方法
Javascript String.match()方法
Javascript String.replace()方法
Javascript String.search()方法
Javascript String.slice()方法
Javascript String.substr()方法
Javascript String.substring()方法
Javascript String.toLocaleLowerCase()方法
Javascript String.toLocaleUpperCase()方法
Javascript String.toLowerCase()方法
Javascript String.toString()方法
Javascript String.toUpperCase()方法
Javascript String.valueOf()方法
Javascript String.anchor()方法
Javascript String.big()方法
Javascript String.blink()方法
Javascript String.bold()方法
Javascript String.fixed()方法
Javascript String.fontcolor()方法
Javascript String.fontsize()方法
Javascript String.italics()方法
Javascript String.link()方法
Javascript String.small()方法
Javascript String.strike()方法
Javascript String.sub()方法
Javascript String.sup()方法
Javascript Arrays對象
Javascript Array.constructor屬性
Javascript Array.length屬性
Javascript Array.concat()方法
Javascript Array.every()方法
Javascript Array.filter()方法
JavaScript Array.forEach()方法
Javascript Array.indexOf()方法
Javascript Array.join()方法
Javascript Array.lastIndexOf()方法
Javascript Array.map()方法
Javascript Array.pop()方法
Javascript Array.push()方法
Javascript Array.reduce()方法
Javascript Array.reduceRight()方法
Javascript Array.reverse()方法
Javascript Array.shift()方法
Javascript Array.slice()方法
Javascript Array.some()方法
Javascript Array.toSource()方法
Javascript Array.sort()方法
Javascript Array.splice()方法
Javascript Array.toString()方法
Javascript Array.unshift()方法
JavaScript Date對象
Javascript Date.constructor屬性
Javascript Date()函數
Javascript Date.getDate()方法
Javascript Date.getDay()方法
Javascript Date.getFullYear()方法
Javascript Date.getHours()方法
Javascript Date.getMilliseconds()方法
Javascript Date.getMinutes()方法
Javascript Date.getMonth()方法
Javascript Date.getSeconds()方法
Javascript Date.getTime()方法
Javascript Date.getTimezoneOffset()方法
Javascript Date.getUTCDate()方法
Javascript Date.getUTCDay()方法
Javascript Date.getUTCFullYear()方法
Javascript Date.getUTCHours()方法
Javascript Date.getUTCMinutes()方法
Javascript Date.getUTCMonth()方法
Javascript Date.getUTCSeconds()方法
Javascript Date.getYear()方法
Javascript Date.setDate()方法
Javascript Date.setFullYear()方法
Javascript Date.setHours()方法
Javascript Date.setMilliseconds()方法
Javascript Date.getUTCMilliseconds()方法
Javascript Date.setMinutes()方法
Javascript Date.setMonth()方法
Javascript Date.setSeconds()方法
Javascript Date.setTime()方法
Javascript Date.setUTCDate()方法
Javascript Date.setUTCFullYear()方法
Javascript Date.setUTCHours()方法
Javascript Date setUTCMilliseconds()方法
Javascript Date.setUTCMinutes()方法
Javascript Date.setUTCSeconds()方法
Javascript Date.setYear()方法
Javascript Date.toDateString()方法
Javascript Date.toLocaleDateString()方法
Javascript Date.toSource()方法
Javascript Date.toString()方法
Javascript Date.toTimeString()方法
Javascript Date.toUTCString()方法
Javascript Date.valueOf()方法
Javascript Date.parse()方法
Javascript Date.UTC()方法
Javascript Math對象
Javascript Math.E屬性
Javascript Math.LN2屬性
Javascript Math.LN10屬性
Javascript Math.LOG2E,屬性
Javascript Math.LOG10E屬性
Javascript Math.PI屬性
Javascript Math.SQRT1_2屬性
Javascript Math.SQRT2屬性
Javascript Math.abs()方法
Javascript Math.acos()方法
Javascript Math.asin()方法
Javascript Math.atan()方法
Javascript Math.atan2()方法
Javascript Math.ceil()方法
Javascript Math.cos()方法
Javascript Math.exp()方法
Javascript Math.floor()方法
Javascript Math.log()方法
Javascript Math.max()方法
Javascript Math.min()方法
Javascript Math.pow()方法
Javascript Math.random()方法
Javascript Math.round()方法
Javascript Math.sin()方法
Javascript Math.sqrt()方法
Javascript Math.tan()方法
Javascript Math.toSource()方法
正則表達式和RegExp對象
Javascript RegExp.constructor屬性
Javascript RegExp.global屬性
Javascript RegExp.ignoreCase屬性
Javascript RegExp.lastIndex屬性
Javascript RegExp.multiline屬性
Javascript RegExp.source屬性
Javascript RegExp.exec()方法
Javascript RegExp.test()方法
Javascript RegExp.toSource()方法
Javascript RegExp.toString()方法
JavaScript文檔對象模型或DOM
JavaScript傳統DOM
JavaScript W3C DOM
JavaScript IE4 DOM
JavaScript錯誤和異常處理
JavaScript表單驗證
JavaScript動畫
Javascript多媒體

JavaScript Cookies

Cookies是什麼 ?

Web瀏覽器和服務器使用HTTP協議進行通信,並且HTTP是一種無狀態協議。但對於一個商業網站它需要保持不同的頁面間的會話信息。例如在完成多頁後,一個用戶註冊結束。但是,如何保持所有網頁用戶的會話信息。

在許多情況下,使用Cookie來記憶和跟蹤的喜好,採購,佣金,並要求更好的訪問體驗或網站的統計數據等信息的最有效的方法。

它是如何工作的 ?

服務器發送一些數據到訪問者的瀏覽器以cookie的形式。該瀏覽器可以接受cookie。如果是這樣,它是爲訪問者存儲在硬盤驅動器上的一個純文本的記錄。現在,當訪問者到達您的網站其他頁面,瀏覽器發送相同cookie到服務器進行檢索。一旦檢索到,服務器知道/記得剛纔發生了什麼存儲。

Cookies有5個可變長度字段的純文本數據記錄:

  • Expires : cookie將過期的日期。如果這是空白的,那麼就是當訪問者退出瀏覽器cookie將到期。

  • Domain : 網站的域名。

  • Path : 路徑設置 cookie 目錄或網頁。如果想要從任何目錄或頁面,那麼cookie 是空的。

  • Secure : 如果該字段包含「安全」二字,那麼cookie僅可檢索到一個安全的服務器。如果該字段爲空,沒有限制存在。

  • Name=Value : Cookie設置在鍵和值對的形式來獲取。

的Cookie最初設計用於CGI編程和cookies的數據是在Web瀏覽器和Web服務器之間自動傳輸的,所以在服務器上的CGI腳本可以讀取和寫入存儲在客戶端上的cookie的值。

JavaScript的也可以操作使用文檔對象的cookie屬性。 JavaScript可以讀取,創建,修改和刪除適用於當前網頁的cookie或Cookies。

儲存Cookies:

創建一個cookie的最簡單的方法是一個字符串值分配到document.cookie對象,它是這樣的:

語法

document.cookie = "key1=value1;key2=value2;expires=date";

在這裏,expires屬性選項。如果提供這個屬性有一個有效的日期或時間,那麼cookie將在給定的日期或時間滿期,而後cookies的值將無法訪問到。

注意:Cookie的值可能不包括分號,逗號或空白。出於這個原因,可能需要使用JavaScript 的 escape()函數將其存儲的值在cookie之前進行編碼。如果這樣做,當讀取cookie的值時也必須使用相應的unescape()函數。

例子:

下面是示例,設置在輸入客戶名稱在cookie。

Enter name:

這將產生以下結果。現在進入一些在文本框中,然後按下按鈕「Set Cookie」設置cookie。

Enter name:   

現在,有一個cookie叫name。可以設置使用由逗號分隔multiplekey= value對應多個cookie。

你將在下一節學習如何讀取該cookie。

讀取Cookies:

讀取cookie和寫入一樣簡單,因爲 document.cookieobject 的值是cookie。所以每當要訪問cookie,可以使用這個字符串。

該字符串 document.cookie將繼續由分號,其中name是一個cookie的名稱,值是它的字符串值分隔的名稱=值對的列表。

您可以使用字符串split()函數來打破串入鍵和值如下:

例子:

下面是一個例子,以獲得上一節設置的cookie。

注:這裏的length 是Array類的方法,該方法返回一個數組的長度。我們將在一個單獨的章節討論數組。到那個時候,請儘量消化它。

這將產生以下結果。現在按按鈕「Get Cookie」,看看在上一節中如何設置cookie。

 

注意:有可能在機器上已設置了一些其他的Cookie。所以,上面的代碼會顯示所有設置cookie。

設置Cookies的過期日期:

可以通過設置的到期日期和保存cookie中的失效日期延長超出當前瀏覽器會話cookie中的壽命。這可以通過設置expires屬性的日期和時間來完成。

例子:

下面的例子演示瞭如何設置cookie1個月後過期:

Enter name:

刪除Cookie:

有時如果想刪除一個cookie,以便後續嘗試讀取cookie返回什麼。要做到這一點,你只需要在到期日設置在過去的某個時間。

例子:

下面的例子演示瞭如何通過設置有效期限一個月以前刪除cookie:

Enter name:

注:不設置日期,可以使用setTime()函數看到新值。