js怎么设置 只执行一次 其余执行另一个?分多 50

需求,弹窗(弹窗代码我有)打开的时候第一次弹a.html其余一天时间内,不管怎么刷新都只弹另一个页面b.html,... 需求,弹窗(弹窗代码我有)
打开的时候第一次弹a.html
其余一天时间内,不管怎么刷新都只弹另一个页面b.html,
展开
 我来答
匿名用户
2013-05-23
展开全部
3种方法:

1、写cookie,用户第一次访问时弹出a.html(即没有cookie或过期),同时写入一个cookie,过期时间为1天,1天内判断有改cookie时弹出b.html;

2、写localStroage,方式如上;

3、针对ip或uid记录到后端数据库;

1优点是方便,缺点是手动清空cookie或浏览器关闭后自动清空会导致失效;
2优点是不易清除(至少对于普通用户来说),缺点是针对ie要写userStroage方法;
3优点不能清除,缺点只能针对ip或uid记录,需要后端支持
追问
能不能给一个完整的方法?
根据cookie的方法,您能不能提供一下代码?
谢谢您!!!
追答
var setCookie = function(name){
        var _now = new Date();
        //设置过期时间为1天
        _now.setDate(_now.getDate() + 1);
        document.cookie = name + "=1; expires=" + _now.toGMTString()+";";
    }
    ,getCookie = function(name){
        //寻找cookie
    var _name = ' ' + name + '=';
        var _cookie = document.cookie.indexOf(_name);
        var _end, _result = '';
        if(_cookie != -1){
            _cookie += _name.length;
            _end = document.cookie.indexOf(";",_cookie);
            _result = (document.cookie.substring(_cookie,_end));
        }
    return _result;
    }
    ,showPop = function(){
        if(!!getCookie('pop')){
            //有cookie,设定弹出url为b.html
            var _url = 'b.html';
    }else{
          //否则,设置cookie,设定弹出为a.html
        setCookie('pop');
        var _url = 'a.html';
    }
    //你的弹层代码,传入需要弹出的url地址
    popShow(_url);
    };
匿名用户
2015-07-13
展开全部
参考例子如下:
function bb()
{
if(typeof(window.isCancel)=="undefined"){
alert("你好");
//还可以执行其他事务,只要所有自定义事件执行完之后加上下面这句即可。
window.isCancel=true;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式