js設置cookie的(js設置cookie的有效期)

本文目錄一覽:

js怎麼設置cookie得到cookie刪除cookie

avaScript是運行在客戶端的腳本,因此一般是不能夠設置Session的,因為Session是運行在服務器端的。

而cookie是運行在客戶端的,所以可以用JS來設置cookie.

假設有這樣一種情況,在某個用例流程中,由A頁面跳至B頁面,若在A頁面中採用JS用變量temp保存了某一變量的值,在B頁面的時候,同樣需要使用JS來引用temp的變量值,對於JS中的全局變量或者靜態變量的生命周期是有限的,當發生頁面跳轉或者頁面關閉的時候,這些變量的值會重新載入,即沒有達到保存的效果。解決這個問題的最好的方案是採用cookie來保存該變量的值,那麼如何來設置和讀取cookie呢?

首先需要稍微了解一下cookie的結構,簡單地說:cookie是以鍵值對的形式保存的,即key=value的格式。各個cookie之間一般是以“;”分隔。

JS設置cookie:

假設在A頁面中要保存變量username的值(“jack”)到cookie中,key值為name,則相應的JS代碼為:

複製代碼代碼如下:

document.cookie=”name=”+username;

JS讀取cookie:

假設cookie中存儲的內容為:name=jack;password=123

則在B頁面中獲取變量username的值的JS代碼如下:

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();

}

讀取cookies

function getCookie(name)

{

var arr,reg=new RegExp(“(^| )”+name+”=([^;]*)(;|$)”);

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

}

刪除cookies

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″);

js 怎麼重新設置cookie

這個看你有沒有使用cookie的插件

如果使用,可以看看具體的插件使用指導

例如:不同的 系統可能會用不同的創建,像傲隆盛 jquery.cookie.js或者看如下的小案例:

1.生成一個cookie,名稱為user,內容為liayun:

$.cookie(“user”,”liayun”);

2.cookie的參數設置:

$.cookie(“user”,”liayun”, {

expires:7, //過期時間,7天後過期

path:”/”, //根目錄,path的作用就是設置路徑,根目錄到底所謂何???

});

$.cookie(“aaa”,”bbb”, {

//domain:”” //設置域名,可以發現名為aaa的cookie並沒有建立,為何???

secure:true //發送條件:僅限加密連接 默認為false,需要使用安全協議https

});

綜上所述,除了expires這個參數有用,其他根本就沒什麼鳥用!!!

3.讀取cookie數據:

alert($.cookie(“user”)); //liayun

alert($.cookie(“aaa”)); //undefined,名為aaa的cookie的參數secure為true,因為需要使用安全協議https,而我們一般使用http協議,所以返回undefined

$.cookie(“ccc”,””); //自動編碼為:%E6%9D%8E%E9%98%BF%E6%98%80

alert($.cookie(“ccc”)); //自動解碼為:

4.關閉編碼/解碼,默認為false:

$.cookie.raw = true;

$.cookie(“ddd”,””); //沒有自動編碼,

alert($.cookie(“ddd”)); //

5.讀取所有cookie數據:

alert($.cookie());

如何用js修改頁面cookies

直接賦值。不設置時間的話,默認瀏覽器關閉cookie失效

document.cookie = “name=”+value;

寫個函數動態調用

//設置或添加cookie

function setCookie(name,value,time){ var str = name + “=” + escape(value); if(time 0){ var date = new Date(); var ms = time*3600*1000; date.setTime(date.getTime() + ms); str += “; expires=” + date.toGMTString(); } document.cookie = str;}//獲取cookie function getCookie(name){ //cookie中的數據都是以分號加空格區分開 var arr = document.cookie.split(“; “); for(var i=0; iarr.length; i++){ if(arr[i].split(“=”)[0] == name){ return arr[i].split(“=”)[1]; } } //未找到對應的cookie則返回空字符串 return ”; }//刪除cookie function removeCookie(name){ document.cookie = name+”=;expires=”+(new Date(0)).toGMTString();}

如何用js來操作cookie呢?

js操作COOKIE,直接給document加上cookie就可以了,但是一般如果單個的加會很麻煩所以一般會直接寫好一個函數,可以直接操作cookie,這樣就很方便了

setCookie這個是寫入cookie,第一個是名稱,第二個是cookie值,第三個是過期時間

getCookie這個是查找cookie;

removeCookie這是你需要刪除的cookie;

function setCookie(name, value, iDay) 

{

var oDate=new Date();

oDate.setDate(oDate.getDate()+iDay);

document.cookie=name+’=’+encodeURIComponent(value)+’;expires=’+oDate;

}

function getCookie(name)

{

var arr=document.cookie.split(‘; ‘);

var i=0;

for(i=0;iarr.length;i++)

{

//arr2-[‘username’, ‘abc’]

var arr2=arr[i].split(‘=’);

if(arr2[0]==name)

{

var getC = decodeURIComponent(arr2[1]);

return getC;

}

}

return ”;

}

function removeCookie(name)

{

setCookie(name, ‘1’, -1);

}

js中如何設置cookie的保存時間呢?

設置cookie的保存時間,通過cookie的expires性質指定一個終止時間就可以了。也就是說,你在設置cookie的時候,你的cookie字串要像下面這樣組合:

var d= new Date();

d.setHours(d.getHours() + (24 * 30)); //保存一個月

document.cookie = “visited=yes; expires=” + d.toGMTString();

這樣你的cookie就能保存一個月了,下面是我測試用的代碼,你自己看看是否有其他幫助,有的話儘管拿去:

html

  head

    script language=”javascript”

      function Window_Load(){

       setCookie(“name”,”111″); //臨時cookie

       setCookie(“age”,”222″,24 * 7);  //保存7天

       setCookie(“address”,”333″,24,”/”); //保存1天,path為根目錄

       

       //設定cookie為安全的(secure=true),只能在HTTPS或與其他安全協議

       //連接在一起的時候才被傳輸

       setCookie(“phone”,”444″,24,”/”,”.”,false);

       alert(document.cookie);

       alert(getCookie(“age”));

       

       //刪除名稱為”age”的cookie

       removeCookie(“age”) 

       alert(document.cookie);

       //刪除名稱為”address”的cookie,因為設置時設定的path,所以刪除

       //時也需要傳入對應path

       removeCookie(“address”,”/”) 

       alert(document.cookie);  

      }

      

      function setCookie(name,value,hours,path,domain,secure){

       var cdata = name + “=” + value;

       if(hours){

       var d = new Date();

       d.setHours(d.getHours() + hours);

       cdata += “; expires=” + d.toGMTString();

       }

       cdata +=path ? (“; path=” + path) : “” ;

       cdata +=domain ? (“; domain=” + domain) : “” ;

       cdata +=secure ? (“; secure=” + secure) : “” ;

       document.cookie = cdata;

      }

      

      function getCookie(name){

       var reg = eval(“/(?:^|;\\s*)” + name + “=([^=]+)(?:;|$)/”); 

       return reg.test(document.cookie) ? RegExp.$1 : “”;

      }

      

      function removeCookie(name,path,domain){

       this.setCookie(name,””,-1,path,domain);

      }

       

    /script

  /head

  body onload=”Window_Load();”

  

  /body

/html

原創文章,作者:J1U0D,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127932.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
J1U0D的頭像J1U0D
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • Python載入Cookie錯誤解決方法用法介紹

    本文將從多個方面詳細闡述Python載入Cookie錯誤的解決方法,希望能對讀者有所幫助。 一、Cookie錯誤常見原因 1、Cookie過期:當Cookie過期時,載入Cooki…

    編程 2025-04-29
  • Cookie是後端生成的嗎?

    是的,Cookie通常是由後端生成並發送給客戶端的。下面從多個方面詳細闡述這個問題。 一、什麼是Cookie? 我們先來簡單地了解一下什麼是Cookie。Cookie是一種保存在客…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27
  • 如何反混淆美團slider.js

    本文將從多個方面詳細闡述如何反混淆美團slider.js。在開始之前,需要明確的是,混淆是一種保護JavaScript代碼的方法,其目的是使代碼難以理解和修改。因此,在進行反混淆操…

    編程 2025-04-27
  • Python要學JS嗎?

    Python和JavaScript都是非常受歡迎的編程語言。然而,你可能會問,既然我已經學了Python,是不是也需要學一下JS呢?在本文中,我們將圍繞這個問題進行討論,並從多個角…

    編程 2025-04-27

發表回復

登錄後才能評論