js怎么设置 只执行一次 其余执行另一个?分多 50
需求,弹窗(弹窗代码我有)打开的时候第一次弹a.html其余一天时间内,不管怎么刷新都只弹另一个页面b.html,...
需求,弹窗(弹窗代码我有)
打开的时候第一次弹a.html
其余一天时间内,不管怎么刷新都只弹另一个页面b.html, 展开
打开的时候第一次弹a.html
其余一天时间内,不管怎么刷新都只弹另一个页面b.html, 展开
2个回答
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记录,需要后端支持
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;
}
}
function bb()
{
if(typeof(window.isCancel)=="undefined"){
alert("你好");
//还可以执行其他事务,只要所有自定义事件执行完之后加上下面这句即可。
window.isCancel=true;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询