想实现这个功能:
网站主页是地区选择页,
第一次登陆主页选择地区,
之后再登陆就直接跳转第一次选择的地区页
不知表述清楚没有。我感觉要用cookie,但是我对cookie完全茫然,希望高手不吝赐教,小弟感谢万分
------解决方案--------------------
是的,要用cookie。这个不是在JS里写的 所以建议你还是在你的WEB实用技术的版块问吧。或者可以说下你用的技术
------解决方案--------------------
楼主单单是html的话,那就用cookie,如果有后台,或者jsp那就放到数据库,或者session中,暂时保存
------解决方案--------------------
------解决方案--------------------
第一次打开主页的时候把选择的地区存在cookie["area"]中。以后每次打开主页的时候都读cookie,看是否存在名称为"area"的cookie,如果有就转到地区页,如果没有就让用户选择然后再次记录到cookie["area"]中。
LZ上网看看cookie的操作,也可以用我写的这个。
- JScript code
/***************************************/
/* title: operate cookie
/* author: danica7773
/**************************************/
var cookieOperate = {
isCookie: function() {
return navigator.cookieEnabled;
},
cookieMap: function() {
var _map = {};
if(this.isCookie()) {
var _cookie = document.cookie.split(';');
var _len = _cookie.length;
var _subItem;
for(var i = 0; i < _len; i++) {
_subItem = _cookie[i].split('=');
_map[decodeURI(_subItem[0].replace(/^\s*|\s*$/g, ''))] = decodeURI
(_subItem[1]);
}
}
return _map;
},
searchCookie: function(key) {
var _map = this.cookieMap();
return (_map[key])? _map[key] : null;
},
/**
/*op = {
/* k: key,
/* d: domain,
/* p: path,
/* }
**/
deleteCookie: function(op) {
var _value = this.searchCookie(op.k);
if(_value) {
var _op = {
v: '',
t: -1
}
for(e in op){
_op[e] = op[e];
}
this.writeCookie(_op);
}
},
/**
/*op = {
/* k: key,
/* v: value,
/* f: true | false, //(cover the old record)
/* s: splitFlag
/* n: 10, //max number
/* t: expires, //seconds
/* d: domain,
/* p: path,
/* }
**/
writeCookie: function(op) {
var _cookie = [];
if(op.k && typeof(op.v) !== 'undefined' && op.v !== null) {
var _v = encodeURI(op.v);
if(!op.f) {
var _s = (op.s)? op.s : '|';
var _n = (op.n)? op.n : 10;
var _old = this.searchCookie(op.k);
if(_old) {
var _arr = _old.split(_s);
var _len = _arr.length;
for(var i = 0; i < _n - 1; i++) {
if(!_arr[i]) {
break;
}
_v += _s + encodeURI(_arr[i]);
}
}
}
_cookie.push(op.k + '=' + _v);
}
if(op.t) {
_cookie.push('expires=' + this.setExpires(op.t));
}
if(op.d) {
_cookie.push('domain=' + op.d);
}
if(op.p) {
_cookie.push('path=' + op.p);
}
document.cookie = _cookie.join(';');
},
setExpires: function(seconds) {
var _d = new Date();
_d.setTime(_d.getTime() + (seconds * 1000));
return _d.toGMTString();
}
}
------解决方案--------------------
不好意思,有一个方法写的有问题,改成下面的。
- JScript code
cookieMap: function() {
var _map = {};
if(this.isCookie()) {
var _cookie = document.cookie.split(';');
var _len = _cookie.length;
if(_cookie.length && _cookie[0] != '') {
var _subItem;
for(var i = 0; i < _len; i++) {
_subItem = _cookie[i].split('=');
_map[decodeURI(_subItem[0].replace(/^\s*|\s*$/g, ''))] = decodeURI(_subItem[1]);
}
}
}
return _map;
},