想实现这个功能:
网站主页是地区选择页,
第一次登陆主页选择地区,
之后再登陆就直接跳转第一次选择的地区页不知表述清楚没有。我感觉要用cookie,但是我对cookie完全茫然,希望高手不吝赐教,小弟感谢万分

解决方案 »

  1.   

    是的,要用cookie。这个不是在JS里写的 所以建议你还是在你的WEB实用技术的版块问吧。或者可以说下你用的技术
      

  2.   

    我也想过,但ip实现跳转对我来说更困难一些,而且ip判断不一定准确,如果使用精确ip库,页面执行速度会降低很多
      

  3.   

    JS也可以读cookie啊,然后跳转。
      

  4.   

    楼主单单是html的话,那就用cookie,如果有后台,或者jsp那就放到数据库,或者session中,暂时保存
      

  5.   

    html页面的cookie该怎么写呢,我完全茫然
      

  6.   

    如果是session的话,不能保证用户下次打开。
    而且一般情况下,这种用户体验的东西应该放在前台
    我很赞同使用IP的方式,不过对于某些挑剔的客户来说,他们会觉得代理或者说非本国用户异地访问时导致的不佳体验
      

  7.   

    第一次打开主页的时候把选择的地区存在cookie["area"]中。以后每次打开主页的时候都读cookie,看是否存在名称为"area"的cookie,如果有就转到地区页,如果没有就让用户选择然后再次记录到cookie["area"]中。
    LZ上网看看cookie的操作,也可以用我写的这个。
    /***************************************/
    /* 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();
    }
    }
      

  8.   

    使用代理的异地访问是个头疼的问题,因为面对的是教育网,很多学生都会使用加速器或者浏览网页时使用内置代理的浏览器,诸如搜狗。所以觉得还是cookie比较合理,但对此一窍不通
      

  9.   

    不好意思,有一个方法写的有问题,改成下面的。
    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;
    },
      

  10.   

    如果你的网站没有整合。即是一个独立的站点,那么使用js是没有问题的。danica7773的方法和网上很多的方法都可以做到。
      

  11.   

    看得一头雾水,如果我要使用大概是更改哪些地方呢,以前从未接触过cookie,刚才看一行google一行
      

  12.   


    我也找到了,但就是看不懂cookie咋写的,不知道改哪些地方我可以用
      

  13.   

    这个你可以当做一个对象来对待即你调用它的方法来set search 等就可以了