本地存储的问题

丶吉丶 2018-07-23 09:41:19
需求一个提示框,点击后不再显示,新开浏览器窗口也是不再显示,重新打开浏览器再次显示,这个可以用什么?sessionStorage,localStorage,vuex都不可以
...全文
272 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ambit_tsai-微信 2018-08-13
  • 打赏
  • 举报
回复
用localStorage记录一个时间戳,实时刷新(setInterval)。
每次打开,计算一下当前时间与记录时间的差,如果差值太多,则显示提示框。
程序员的键盘 2018-08-13
  • 打赏
  • 举报
回复
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

if(getCookie("isFirstOpen")==""){//首次打开页面,没有cookie
setCookie("isFirstOpen","false");//设置无时效cookie,浏览器关闭后就消息,页面刷新、新开tab不会消失
alert("isFirstOpen");//显示弹框
}
丶吉丶 2018-07-25
  • 打赏
  • 举报
回复
引用 7 楼 jslang 的回复:
用不设置 expires参数的cookie试试

也是不行,就是本地存储都不管用
我如果有什么可以知道是不是打开新浏览器或者新窗口的东西,这个就好写了
丶吉丶 2018-07-25
  • 打赏
  • 举报
回复
引用 6 楼 bbboy8205 的回复:
[quote=引用 5 楼 qq_40214672 的回复:]
[quote=引用 4 楼 bbboy8205 的回复:]
打开新的浏览器时本地存储是没有的, 打开新页面的话,本地存储是有的。 如果是用sessionStorage, 关闭浏览器,存储也就没有了。不知道你是想要哪种?

“重新打开浏览器再次显示”是打开新浏览器吗? 把你需求描述再清楚些。

需求是打开一个新的浏览器这个提示显示,但是在本浏览器打开一个窗口不显示,[/quote]

那用localStorage应该可以

var isClick = localStorage.getItem('isClick');
if(isClick && isClick === 1) {
alert('已点击');
}

// 点击事件
function onClickBtn() {
localStorage.setItem('isClick', 1);
}


[/quote]
不可以,我需要下次打开浏览器显示,打开新页面是不会显示的
丶吉丶 2018-07-23
  • 打赏
  • 举报
回复
引用 4 楼 bbboy8205 的回复:
打开新的浏览器时本地存储是没有的, 打开新页面的话,本地存储是有的。 如果是用sessionStorage, 关闭浏览器,存储也就没有了。不知道你是想要哪种?

“重新打开浏览器再次显示”是打开新浏览器吗? 把你需求描述再清楚些。

需求是打开一个新的浏览器这个提示显示,但是在本浏览器打开一个窗口不显示,
风中的少年 2018-07-23
  • 打赏
  • 举报
回复
打开新的浏览器时本地存储是没有的, 打开新页面的话,本地存储是有的。 如果是用sessionStorage, 关闭浏览器,存储也就没有了。不知道你是想要哪种?

“重新打开浏览器再次显示”是打开新浏览器吗? 把你需求描述再清楚些。
___紫菜 2018-07-23
  • 打赏
  • 举报
回复
sessionStorage应该可以的啊!关闭浏览器就会被清空
丶吉丶 2018-07-23
  • 打赏
  • 举报
回复
引用 1 楼 bbboy8205 的回复:
前后端 联合起来做呢?

怎么分得清是打开浏览器还是打开新页面,主要就是这个问题,
风中的少年 2018-07-23
  • 打赏
  • 举报
回复
前后端 联合起来做呢?
天际的海浪 2018-07-23
  • 打赏
  • 举报
回复
用不设置 expires参数的cookie试试
风中的少年 2018-07-23
  • 打赏
  • 举报
回复
引用 5 楼 qq_40214672 的回复:
[quote=引用 4 楼 bbboy8205 的回复:]
打开新的浏览器时本地存储是没有的, 打开新页面的话,本地存储是有的。 如果是用sessionStorage, 关闭浏览器,存储也就没有了。不知道你是想要哪种?

“重新打开浏览器再次显示”是打开新浏览器吗? 把你需求描述再清楚些。

需求是打开一个新的浏览器这个提示显示,但是在本浏览器打开一个窗口不显示,[/quote]

那用localStorage应该可以

var isClick = localStorage.getItem('isClick');
if(isClick && isClick === 1) {
alert('已点击');
}

// 点击事件
function onClickBtn() {
localStorage.setItem('isClick', 1);
}


87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧