本文目錄一覽:
如何用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
這個看你有沒有使用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());
怎樣用jquery來設置cookie
一個輕量級的cookie 插件,可以讀取、寫入、刪除 cookie。
jquery.cookie.js 的配置
首先包含jQuery的庫文件,在後面包含 jquery.cookie.js 的庫文件。
script type=”text/javascript” src=”js/jquery-1.6.2.min.js”/script
script type=”text/javascript” src=”js/jquery.cookie.js”/script
使用方法
1.新添加一個會話 cookie:
$.cookie(‘the_cookie’, ‘the_value’)
註:當沒有指明 cookie有效時間時,所創建的cookie有效期默認到用戶關閉瀏覽器為止,所以被稱為
「會話cookie(session cookie)」。
2.創建一個cookie並設置有效時間為 7天:
$.cookie(‘the_cookie’, ‘the_value’, { expires: 7 })
註:當指明了cookie有效時間時,所創建的cookie被稱為「持久 cookie (persistent cookie)」。
3.創建一個cookie並設置 cookie的有效路徑:
$.cookie(‘the_cookie’, ‘the_value’, { expires: 7, path: ‘/’ })
註:在默認情況下,只有設置 cookie的網頁才能讀取該 cookie。如果想讓一個頁面讀取另一個頁面設
置的cookie,必須設置cookie的路徑。cookie的路徑用於設置能夠讀取 cookie的頂級目錄。將這
個路徑設置為網站的根目錄,可以讓所有網頁都能互相讀取 cookie (一般不要這樣設置,防止出現衝突) 。
4.讀取cookie:
$.cookie(‘the_cookie’); // cookie存在 = ‘the_value’
$.cookie(‘not_existing’); // cookie不存在 = null
5.刪除cookie,通過傳遞null作為cookie的值即可:
$.cookie(‘the_cookie’, null)
———-相關參數的解釋—————
1).expires: 365
定義cookie的有效時間,值可以是一個數字(從創建cookie時算起,以天為單位)或一個Date 對
象。如果省略,那麼創建的cookie是會話cookie,將在用戶退出瀏覽器時被刪除。
2).path: ‘/’
默認情況:只有設置cookie的網頁才能讀取該cookie。
定義cookie的有效路徑。默認情況下, 該參數的值為創建 cookie 的網頁所在路徑(標準瀏覽器的行為) 。
如果你想在整個網站中訪問這個cookie需要這樣設置有效路徑:path: ‘/’。如果你想刪除一個定義
了有效路徑的 cookie,你需要在調用函數時包含這個路徑:$.cookie(‘the_cookie’, null,
{ path: ‘/’ });。 domain: ‘example.com’
默認值:創建 cookie的網頁所擁有的域名。
3).secure: true
默認值:false。如果為true,cookie的傳輸需要使用安全協議(HTTPS)。
4).raw: true
默認值:false。
默認情況下,讀取和寫入 cookie 的時候自動進行編碼和解碼(使用encodeURIComponent 編碼,
decodeURIComponent 解碼)。要關閉這個功能設置 raw: true 即可。
怎麼設置整個網站的cookie js
js操作COOKIE,直接給document加上cookie就可以了,但是一般如果單個的加會很麻煩所以一般會直接寫好一個函數,可以直接操作cookie,這樣就很方便了
setCookie這個是寫入cookie,第一個是名稱,第二個是cookie值,第三個是過期時間
getCookie這個是查找cookie;
JS 操作 cookies 的方法
在 JS(JavaScript) 操作cookies比較複雜,在 ASP 裡面我們只需要知道 cookie 的名稱、cookie 的值就行了,而 JS 裡面,我們面對的是 cookie 的字元串,你自己編寫這個字元串寫入客戶端,然後自己解析這個字元串。
一、從寫 cookie 說起。
var the_date = new Date(“December 31, 2020”);
var expiresDate = the_date.toGMTString();
document.cookie = “userDefineCSS=” + escape(title) + “; expires=” + expiresDate;
第一句是日期對象;
第二句將日期格式轉換成 GMT 格式;編者者: GMT 即格林威治標準時間,現在也稱 UTC 即全球標準時間。
第三句是將 cookie 內容寫入客戶端。
其中 expires 是系統使用的,表示 cookie 的失效日期(也可以省略),expires 不可讀。
escape 是對 cookie 值進行編碼,這是為了處理中文、空格等而設立的。
二、取 cookie 是比較簡單的。
function GetCSS()
{
var cookieStr = document.cookie; //取 cookie 字元串,由於 expires 不可讀,所以 expires 將不會出現在 cookieStr 中。
if (cookieStr == “”)
{
return “main1”; //沒有取到 cookie 字元串,返回默認值
}
var cookieValue = cookieStr.split(“; “); //將各個 cookie 分隔開,並存為數組,多個 cookie 之間用分號加空隔隔開,不過前面我們只使用了一個 cookie,它的值與 expires 之間也是用分號加空格隔開的
var varName = “userDefineCSS”;
var startPos = -1;
var endPos = -1;
for (var i=0; icookieValue.length; i++)
{
startPos = cookieValue[i].indexOf(varName);
if (startPos != 0)
{
continue; //當前 cookie 不是名稱為 varName 的 cookie,判斷下一個 cookie
}
startPos += varName.length + 1; //當前 cookie 就是名稱為 varName 的 cookie,由於有等號,所以 +1
endPos = cookieValue[i].length;
var css = unescape(cookieValue[i].substring(startPos, endPos));
return css;
}
return “main1”;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237771.html