js筆記:cookie相關
阿新 • • 發佈:2019-01-11
//放大鏡
大圖寬度/小圖寬度 = 大圖可視區big寬度/小圖可視區mask寬度
// 800 / 350 = 400 / 100
1、cookie
Cookie又叫會話跟蹤技術,實際上就是客戶端硬碟上的一個文字檔案,該檔案用來儲存一些資料。
首先, HTTP請求是無狀態的,意思就是 你開啟一個網頁,和打下一個網頁之間,沒有任何關係, 資料不會儲存共用的。
其次, 會話,就是人的對話, 一次會話指從開始聊天到聊天結束, 在這裡就是指,你進入一個網站一直訪問瀏覽,直接到你退出這個網站,或者關瀏覽器, 這是一次會話,
會話跟蹤, 就是在你多次訪問一個網站之間要儲存資料, 多次請求要儲存共有的資料, 就叫會話跟蹤了
2、cookie作用
Cookie和變數一樣,是用來做資料儲存的;
與變數不同之處在於,cookie能夠有前提性的,實現跨頁面讀寫資料,和長時間儲存資料。
3、cookie的前提
1)必須是同一個瀏覽器建立的cookie
2)必須是同一個網站建立的cookie
3)通過設定path屬性所具備的讀寫許可權
4)通過設定expires屬性所具備的有效時間許可權
4、cookie 使用
Cookie需要依賴伺服器環境,所以應先搭建伺服器環境。推薦使用Hbuilder綠色版本自帶的伺服器環境測試我們的程式碼。
建立cookie的語法:
document.cookie = "名稱=值";
獲取cookie的語法:
document.cookie;
5、過期時間:expires
沒有設定expires屬性,那麼表示該cookie的有效期為會話,會話指瀏覽器開啟到關閉。
設定了expires屬性,那麼表示該cookie的有效期為一個具體的時間,過期cookie檔案刪除。
示例:
var d = new Date();
d.setDate( d.getDate()+1 );
document.cookie = "username=zhangsan; expires="+d
解讀: 建立了一個名稱叫做username的cookie,它所儲存的內容為zhangsan,它的過期時間是建立這個cookie時的1天后。
備註: 通過修改相同命名的cookie的值或過期時間,可以實現該cookie的修改和刪除。
6、路徑:path
cookie在讀取時,是存在訪問許可權的,即只能夠訪問path路徑下的cookie
例如,在網站根目錄建立的cookie,網站任何位置都能夠訪問到這個cookie
在 /a/ 目錄下建立的cookie,只能在 /a/ 目錄下訪問這個cookie。
示例:
document.cookie = "username=zhangsan; path=/";
解讀:
建立了一個名稱叫做username的cookie,它所儲存的內容為zhangsan,該cookie在當前網站下任何位置都能讀寫。
7、
Cookie時需要注意
1)有些瀏覽器在使用中文時,會出現亂碼。
在設定cookie時,通過encodeURIComponent 編碼,在獲取cookie時,通過decodeURIComponent 解碼
2)cookie 檔案存放在客戶端
cookie 即可以用客戶端 javascript 讀寫,也可以用伺服器端 php、jsp等讀寫。
3)每個網站只能訪問自己網站的cookie
即百度建立的cookie,新浪是不能夠訪問的。
4)每個瀏覽器只能訪問自己瀏覽器的cookie
即火狐建立的cookie,谷歌是不能夠訪問的。
5)cookie 的內容是純文字,即只能儲存字串資料。