亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

使用js操作cookie的一點小收獲分享

2019-11-20 22:20:31
字體:
來源:轉載
供稿:網友
為了說清楚這個問題,必須從頭說起。

首先從后臺配置一個參數,放到一個字段里,該字段叫做keywords,這個參數的值叫做efmis://|efmfj|username|2200|0||2014|http://10.20.1.54:7001/cssServerportal222012/|||||02,姑且不去管這個值有什么含義,相信很多人都遇到過比這個更復雜的字符串。后臺配置以后,前臺可以這么來顯示:${tag_bean.keywords},可以肯定,無論后臺配置成什么,前臺一定會原定不變的顯示出來,第一個問題出現:在username這個位置上,嵌入的是當前登錄用戶的用戶名,必須是動態代碼。難道要寫成efmis://|efmfj|${username}|2200|0||2014|http://10.20.1.54:7001/cssServerportal222012?這樣寫跟期望可有所不同,它會原樣不變的顯示出來,并不會把EL表達式翻譯成動態代碼,暫時不考慮能不能使用EL表達式的嵌套,很顯然不能直接使用,一定要要處理這么一個字符串。

這個字符串是要作為一個js方法的參數的,例如:
復制代碼 代碼如下:

<li [#if c.keywords?exists] keywords="${c.keywords}"
[/#if] path="${c.path}" onclick="clickClient(this.path,this.keywords);">
<a href="javascript:void(0)" style="cursor: pointer;"><span>${c.name}</span>
</a>
</li>

clickClient這個方法不是真正要調用的方法,只是一個過渡方法而已。
復制代碼 代碼如下:

clickClient = function(path,keywords){
//解析分解keywords開始
keywords = keywords.replace("username","${user.username}");
var suffIndex=keywords.indexOf("http");
var prefix = keywords.substr(0,suffIndex-1);
var suffix = keywords.substr(suffIndex-1);
var preIndex=prefix.lastIndexOf("|")+1;
var year = prefix.substr(preIndex);
prefix = prefix.substr(0,preIndex);
//解析分解keywords結束
//合并url
keywords = prefix+$("#year").val()+suffix;
clientInvoke(path,keywords);
}

在這個方法,最終實現的目的是調用clientInvoke方法,而傳進去的參數keywords是變化,要經過一定的處理,首先把${user.username}把user替換掉,在js代碼中,即使含有EL表達式也會動態的解析出來,這點就實現了動態的調用當前用戶名的目標。當2014這個年度也要設置為動態的,并且是可以切換的,那就要把該字符串分解成三個部分:

前綴:efmis://|efmfj|username|2200|0||

年度:2014

后綴:|http://10.20.1.54:7001/cssServerportal222012/|||||02

把年度放在一個select下拉菜單中,當觸動clickClient方法時,即時的從當前option中取出年度,然后和前綴后綴拼接起來,這樣就是實現了年度可變化的靈活性。
復制代碼 代碼如下:

年度切換
<select id="year" onclick="switchYear(this.value);">
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014" selected="selected">2014</option>
<option value="2015">2015</option>
</select>

這時候會有一個問題,當年度切換之后,比如默認的2014,切換到2013之后,如果刷新頁面,就會重新變回默認的2014,這個該怎么辦呢?刷新之后所有的變量都重新加載了,所以設置全局變量這個方法就行不通了,那么我們要問,什么東西是不隨著頁面刷新而變化并且我們很容易進行操作的?看到本文的標題我想所有人都會知道了:cookie!

cookie是保存在本地的資源,可以隨存隨取,在記住密碼的功能上起了極大的作用。這時候我們就利用cookie,把年度存在cookie中。每次加載頁面時,判斷cookie是否存在,如果存在就從中取出放入select,如果不存在就從select中取出,存入cookie。
復制代碼 代碼如下:

$(document).ready(function(){
if(getCookie("Year")==null){//不存在該cookie,放進去
setCookie("Year",$("#year").val());
}else{
//已經存在該cookie,則從中取出
$("#year").val(getCookie("Year"));
}
});
//設置cookie
function setCookie(name,value)
{
//var Days = 30;
//var exp = new Date();
//exp.setTime(exp.getTime() + 365*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;
}

在切換年度的時候,cookie的值當然也要發生變化:
復制代碼 代碼如下:

switchYear=function(year){
setCookie("Year",year);
}

根據用戶的要求,一定要讓2014作為默認。每次切換完cookie操作完成之后,關閉瀏覽器,重新打開登錄進入首頁,年度依然要是2014,而不是上次切換的那個值。所以我們就不需要設定cookie的過期時間了,只需要讓其在瀏覽器關閉后自動清除即可。

當然了,如果期望瀏覽器長期記住cookie,就設定過期時間,setCookie中的注釋代碼正是設置過期時間用的。感興趣的可以研究下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩高清电影免费观看完整版| 日韩精品高清在线| 夜夜嗨av色综合久久久综合网| 亚洲视频电影图片偷拍一区| 久久久av免费| 亚洲美女视频网| x99av成人免费| zzijzzij亚洲日本成熟少妇| 91精品视频在线| 亚洲图片欧洲图片av| 亚洲第一区第二区| 亚洲精品有码在线| 亚洲成年人在线| 欧美亚洲伦理www| 亚洲欧洲日韩国产| 性色av一区二区三区红粉影视| 超薄丝袜一区二区| 国产性色av一区二区| 亚洲日本中文字幕| 欧美激情在线有限公司| 亚洲欧美一区二区三区久久| 欧美日韩一区二区三区在线免费观看| 欧美精品videos性欧美| 亚洲色图第三页| 91在线观看免费| 日韩中文在线中文网在线观看| 日韩精品视频免费专区在线播放| 久久久亚洲天堂| 欧美精品www在线观看| 日韩成人中文字幕在线观看| 国产专区精品视频| 欧美最猛性xxxxx亚洲精品| 欧美激情视频播放| 国产伦精品免费视频| 欧美精品生活片| 亚洲另类欧美自拍| 精品国产电影一区| 日韩网站在线观看| 欧美精品久久久久久久| 国产精品亚洲аv天堂网| 亚洲女人天堂网| 国产一区二区欧美日韩| 成人免费直播live| 国产一区二区三区四区福利| 欧美激情xxxx性bbbb| 欧美国产精品va在线观看| 欧美日韩中文字幕在线| 亚洲色图国产精品| 欧美在线视频观看免费网站| 国产亚洲美女精品久久久| 日韩欧美国产成人| 亚洲精品永久免费精品| 日韩免费观看在线观看| 91精品视频大全| 尤物tv国产一区| 亚洲激情在线观看视频免费| 国产精品视频精品| 精品亚洲一区二区三区四区五区| 日韩精品视频免费| 国产精品高潮粉嫩av| 亚洲综合一区二区不卡| 成人中文字幕在线观看| 欧美成aaa人片免费看| 中文国产成人精品| 亚洲激情在线观看视频免费| 久久婷婷国产麻豆91天堂| 色综合天天综合网国产成人网| 久久久久久久色| 日韩综合视频在线观看| 久久精品电影一区二区| 日韩欧美一区二区在线| 91精品视频在线看| 91精品国产自产在线观看永久| 久久精视频免费在线久久完整在线看| 久久亚洲国产精品成人av秋霞| 成人a视频在线观看| 欧美性猛交xxxx偷拍洗澡| 亚洲最大福利网站| 91色琪琪电影亚洲精品久久| 欧美成人精品h版在线观看| 91亚洲精品在线观看| 国产精品久久久久久av福利软件| 欧美丰满少妇xxxxx做受| 欧美与黑人午夜性猛交久久久| 亚洲精品98久久久久久中文字幕| 国产97免费视| 国产欧美日韩91| 91免费国产网站| 成人久久久久久久| 亚洲深夜福利视频| 91精品视频免费观看| 97精品国产97久久久久久| 久久久久久网站| 在线视频欧美日韩精品| 91精品久久久久久久久久久久久久| 亚洲欧美日本精品| 亚洲欧美日韩国产成人| 亚洲第一综合天堂另类专| 国产精品视频内| 日本成熟性欧美| 色一区av在线| 久久久极品av| 久久夜色精品国产| 午夜精品一区二区三区视频免费看| 日本视频久久久| 91沈先生在线观看| 色偷偷av一区二区三区乱| 欧美性猛交xxxx富婆| 国产欧美最新羞羞视频在线观看| 欧美激情极品视频| 亚洲欧洲av一区二区| 国产做受高潮69| 欧美激情免费看| 亚洲激情视频在线| 国产在线不卡精品| 岛国av一区二区三区| 国产精品揄拍500视频| 国产欧美精品一区二区三区介绍| 成人免费看黄网站| 伊人伊成久久人综合网小说| 精品国产一区二区三区久久久| 欧美日本黄视频| 久久99久久久久久久噜噜| 亚洲色图日韩av| 亚洲精品视频中文字幕| 久久久久五月天| 国产精品wwwwww| 午夜精品久久17c| 亚洲国产精品999| 永久免费看mv网站入口亚洲| 成年人精品视频| 久久久久久国产精品久久| 国产精品国产三级国产aⅴ9色| 欧美成人精品在线播放| 亚洲一区二区国产| 久久久久久久国产| 精品少妇v888av| 欧美激情综合色综合啪啪五月| 日韩精品在线播放| 亚洲国产天堂久久国产91| 久久久精品视频在线观看| 国产成人综合久久| 亚洲一区二区三| 精品国产福利在线| 国模精品一区二区三区色天香| 国产免费成人av| 精品久久久久久久久久久久| 久久精品中文字幕免费mv| 国产精品美女免费视频| 精品视频9999| 久久国产精品久久久| 亚洲天堂免费观看| www.亚洲男人天堂| 精品成人久久av| 亚洲电影免费在线观看| 国产亚洲一区二区在线| 中文字幕亚洲一区在线观看| 色综合视频一区中文字幕| 91性高湖久久久久久久久_久久99| 亚洲精品videossex少妇| 日韩一二三在线视频播| 亚洲精品乱码久久久久久按摩观| 亚洲国产精彩中文乱码av| 欧美日韩国产二区|