功能需求:
用户每次登录的时候弹出一条提示语句.刷新或跳转不再提示。
方式1:利用cookie,将是否需要提示以键值对的方式保存到cookie中,用户首次登录的时候从cookie中判断是否需要弹出提示框,需要则弹出,同时保存cookie,设置不需要弹出,当用户点击退出的时候清楚cookie.
Cookie存储于硬盘,可以在javascript充当全局变量。
<script type="text/javascript">
(function(window){
/*cookie以键值对的方式存储,多个的时候以;分开,document.cookie = "a=1;b=2";
*cookie过期document.cookie = "a=1;expires=GMT时间格式(date.toGMTString())";
*cookie的键值中不能使用;,=以及空格,如果是值中可能含有,可以使用escape()进行编码,如空格就可以转换为"20%",取的
*时候利用unescapse()进行解码
*cookie存储于硬盘,所以可以用作全局变量
**/
var document = window.document,
cache = document.cookie;
Cookie = function(){
return Cookie.fn.init();
};
window.Cookie = Cookie;
Cookie.fn = Cookie.prototype = {
//初始化
init:function(){
},
//获取指定键的cookie
getCookie:function(name){
var value = "",
cookieArray ;
if( cache != null && cache.length > 0) {
cookieArray = this.toArray();
for(var i=0,maxLen = cookieArray.length; i<maxLen ; i++){
var map = cookieArray[i].split("=");
if(typeof map[0] == "string" && map[0].trim() == name.trim()) {
value = unescape(map[1]).trim();
break;
}
}
}
return value;
},
//将cookie转换为数组
toArray:function(){
var cookieArray = new Array();
if(cache != null && cache.length > 0 ){
cookieArray = cache.split(";");
}
return cookieArray;
},
//设置相应的cookie值,expireTime:过期时间(ms)(默认为浏览器关闭cookie消失)
addCookie:function(name,value,expireTime){
var cookieStr = name + "=" + escape(value);
// cookie为空
if(expireTime != null && expireTime > 0) {
var overdueTime = new Date();
overdueTime.setTime(overdueTime.getTime()+expireTime);
cookieStr = cookieStr + ";expires="+overdueTime.toGMTString();
}
document.cookie = cookieStr;
},
//删除指定cookie
deleteCookie:function(name){
//设置过期时间,date.getTime():获取的是毫秒数
var overdueTime = new Date(),
value = this.getCookie(name);
overdueTime.setTime(overdueTime.getTime()-1);
if(value != null) {
document.cookie = name + "=" + value + ";expires="+overdueTime.toGMTString();
}
}
};
String.prototype.trim = function(){
return this.replace(/^\s+/,'').replace(/\s+$/,'');
}
})(window);
var cache = new Cookie();
cache.addCookie("what","2",null);
alert(cache.getCookie("what"));
// cache.deleteCookie("what");
</script>
方式2:将是否需要弹出提示框保存到session中,用户登录存入session.弹出提示框后移除session即可。