首頁 web前端 js教程 瀏覽器儲存技術cookie、session的實例介紹

瀏覽器儲存技術cookie、session的實例介紹

Jun 28, 2017 am 09:28 AM
cookie firefox webkit

HTTP無狀態協定是指協定對於事務處理沒有記憶能力。
會話追蹤
協定的狀態是指下一次傳輸可以「記住」這次傳輸訊息的能力,無狀態是指同一個會話(注意什麼叫同一個會話)
的連續兩個請求互相不了解,當瀏覽器發送請求給伺服器的時候,伺服器回應,但是同一個瀏覽器再發送請求給
伺服器的時候,他會回應,但是他不知道你就是剛才那個瀏覽器,每一次請求和回應都是相對獨立的。

Cookies最典型的應用程式是判定註冊使用者是否已登入網站,使用者可能會得到提示,是否在下次進入此網站時保留使用者資訊以便簡化
登入手續,這些都是Cookies的功用。另一個重要應用場合是「購物車」之類處理。使用者可能會在一段時間內在同一家網站的不同頁面
中選擇不同的商品,這些資訊都會寫入Cookies,以便在最後付款時提取資訊。

Javascript使用cookie
假設有這樣一種情況,在某個用例流程中,由A頁面跳至B頁面,若在A頁面中採用JS用變數temp保存了某一變數的值,在B頁面的時候,
同樣需要使用JS來引用temp的變數值,對於JS中的全域變數或靜態變數的生命週期是有限的,當發生頁面跳躍或頁面關閉的時候,
這些變數的值會重新載入,也就是沒有達到保存的效果。解決這個問題的最好的方案是採用cookie來保存該變數的值,那麼如何來設定和讀取
取cookie呢?
首先需要稍微了解一下cookie的結構,簡單地說:cookie是以鍵值對的形式保存的,也就是key=value的格式。各個cookie之間一般是以「;」分隔


在H5中webStorage其實就是在web上儲存數據,分為兩種:
 sessionStorage 在瀏覽器關閉時儲存的資料將消失---暫存
 localStorage 可以一直存在--- 永久儲存

設定
session storage:
sessionStorage.setItem("smessage",dataDom.value);

取得
sessionStorage.getItem("smessage")

removeItem刪除key
用途:刪除指定key本機儲存的值
用法:.removeItem(key)
程式碼範例:
sessionStorage.removeItem("key"); localStorage.removeItem("site");


clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
程式碼範例:
sessionStorage.clear(); localStorage.clear();

1、cookie一般不大於4095kb;設定過多存取很慢;
2、客戶端與伺服器都能存取資料
3、有有限期

local storage:只有本地瀏覽器能訪問,每個網域大小5M
沒有過期時間;即存即取;


cookie是以鍵值對的形式儲存的,即key=value的格式。各個cookie之間一般是以「;」分隔。
document.cookie="name="+username;
var username=document.cookie.split(";")[0].split("=")[1];


#//JS操作cookies方法!
//寫cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp. toGMTString();
}

//取得cookie
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+" =([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
//刪除cookie
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString() ;
}
//使用範例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要設定自訂過期時間
//那麼把上面的setCookie 函數換成下面兩個函數就ok;
//程式碼
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape ( value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring(1 ,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//這是有設定過期時間的使用範例:
//s20是代表20秒
//h是指小時,如12小時則是:h12
//d是天數,30天則:d30
setCookie("name","hayden","s20");

 

#


封裝函數
#//取得
function getCookie(c_name){
if (document.cookie.length>0) {
  var c_start=document.cookie.indexOf( c_name + "=")
  //console.log(c_start);
  if(c_start!=-1){
  c_start=c_start + c_name.length+1
  }else{
return;
  }
  //使用者名稱
  // console.log(c_start);
c_end=document.cookie.indexOf(";",c_start)
console.log( c_end) ;
if (c_end==-1) {
c_end=document.cookie.length;
}    
return document.cookie.substring(c_start,c_end);
#   }else.cookie.substring(c_start,c_end);
#   }else {
  return ""
  }

}
//設定
function setCookie(c_name,value,expiredays){
var exdate=new Date()
exdate. setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +value+";"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString () )
}
//檢查
function checkCookie(){
var username=getCookie('username')
console.log(username);
if (username! =null && 使用者名稱!=""){
alert('歡迎再次'+使用者名稱+'!');
//setCookie("使用者名稱",使用者名稱,-1);
}else{
username=prompt('請輸入您的姓名:',"")
  if (username!=null && username!=""){
setCookie('username',username ,365)
}
}
}

onload=checkCookie();###

以上是瀏覽器儲存技術cookie、session的實例介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Ubuntu Linux如何移除Firefox Snap? Ubuntu Linux如何移除Firefox Snap? Feb 21, 2024 pm 07:00 PM

要在UbuntuLinux中刪除FirefoxSnap,可以按照以下步驟進行操作:打開終端機並以管理員身份登入Ubuntu系統。執行以下命令以卸載FirefoxSnap:sudosnapremovefirefox系統將提示你輸入管理員密碼。輸入密碼並按下Enter鍵以確認。等待指令執行完成。一旦完成,FirefoxSnap將被完全刪除。請注意,這將刪除透過Snap套件管理器安裝的Firefox版本。如果你透過其他方式(如APT套件管理器)安裝了另一個版本的Firefox,則不會受到影響。透過上述步驟

cookie存在哪裡 cookie存在哪裡 Dec 20, 2023 pm 03:07 PM

Cookie通常儲存在瀏覽器的Cookie資料夾中的,瀏覽器中的Cookie檔案通常以二進位或SQLite格式存儲,如果直接開啟Cookie文件,可能會看到一些亂碼或無法讀取的內容,因此最好使用瀏覽器提供的Cookie管理介面來檢視和管理Cookie。

電腦上的cookie在哪裡 電腦上的cookie在哪裡 Dec 22, 2023 pm 03:46 PM

電腦上的Cookie儲存在瀏覽器的特定位置,具體位置取決於使用的​​瀏覽器和作業系統:1、Google Chrome, 儲存在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies中等等。

手機cookie在哪裡 手機cookie在哪裡 Dec 22, 2023 pm 03:40 PM

手機上的Cookie儲存在行動裝置的瀏覽器應用程式中:1、在iOS裝置上,Cookie儲存在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android裝置上,Cookie儲存在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

Cookie工作原理是什麼 Cookie工作原理是什麼 Sep 20, 2023 pm 05:57 PM

Cookie運作方式涉及到伺服器發送Cookie、瀏覽器儲存Cookie以及瀏覽器對Cookie的處理和儲存。詳細介紹:1、伺服器發送Cookie,伺服器會傳送一個包含Cookie的HTTP回應標頭給瀏覽器。這個Cookie包含了一些訊息,例如使用者的身份認證、偏好設定或購物車內容等,瀏覽器接收到這個Cookie後,會將它儲存在使用者的電腦上;2、瀏覽器儲存Cookie等等。

清除cookie有什麼影響嗎 清除cookie有什麼影響嗎 Sep 20, 2023 pm 06:01 PM

清除cookie產生的影響有重置個人化設定和偏好、影響廣告體驗、破壞登入狀態和記住密碼功能。詳細介紹:1、重置個人化設定和偏好,如果清除了cookie,購物車將被重置為空,需要重新添加商品,同樣清除cookie還會導致在社群媒體平台上的登入狀態遺失,需要重新輸入使用者名稱和密碼;2、影響廣告體驗,如果清除了cookie,網站將無法了解我們的興趣和偏好,會顯示無關的廣告等等。

瀏覽器cookie的儲存位置詳解 瀏覽器cookie的儲存位置詳解 Jan 19, 2024 am 09:15 AM

隨著網路的普及,我們使用瀏覽器進行上網已經成為一種生活方式。在日常使用瀏覽器過程中,我們常會遇到需要輸入帳號密碼的情況,如網購、社交、郵件等。這些資訊需要瀏覽器記錄下來,以便下次造訪時不需要再次輸入,這時候Cookie就派上了用場。什麼是Cookie? Cookie是指由伺服器端發送到使用者瀏覽器上並儲存在本地的一種小型資料文件,它包含了一些網站的使用者行為

cookie洩漏有什麼危害 cookie洩漏有什麼危害 Sep 20, 2023 pm 05:53 PM

Cookie洩漏的危害有導致個人識別資訊被竊、個人線上行為被追蹤、帳戶被竊等。詳細介紹:1、個人識別資訊被盜竊,例如姓名、電子郵件地址、電話號碼等,這些資訊可能被不法分子用於進行身份盜竊、欺詐等違法行為;2、個人在線行為被追踪,通過分析cookie中的數據,不法分子可以了解用戶的瀏覽歷史、購物偏好、興趣愛好等;3、帳戶被盜,繞過登入驗證,直接存取用戶的帳號等等。

See all articles