Javascript 返回页面时会话存储未持续
当访问者进入网站的某个部分时,我会使用弹出窗口。当访问者点击x时,弹出窗口关闭,我希望这种状态在他们整个访问过程中持续,这样他们就不会生气。但是,如果他们关闭浏览器,改天再回到该站点,我希望弹出窗口再次显示 在Chrome桌面浏览器中:现在,它在弹出窗口显示的地方工作,如果我单击它关闭的x,如果我在网站上的其他页面中单击更深的位置,它不会再次显示,但是如果我返回顶层页面,它会再次弹出。反之亦然,如果我进入一个内部页面并点击“关闭”,它会工作,但如果我进入顶层页面,它会再次显示。我做错了什么Javascript 返回页面时会话存储未持续,javascript,sessionstorage,Javascript,Sessionstorage,当访问者进入网站的某个部分时,我会使用弹出窗口。当访问者点击x时,弹出窗口关闭,我希望这种状态在他们整个访问过程中持续,这样他们就不会生气。但是,如果他们关闭浏览器,改天再回到该站点,我希望弹出窗口再次显示 在Chrome桌面浏览器中:现在,它在弹出窗口显示的地方工作,如果我单击它关闭的x,如果我在网站上的其他页面中单击更深的位置,它不会再次显示,但是如果我返回顶层页面,它会再次弹出。反之亦然,如果我进入一个内部页面并点击“关闭”,它会工作,但如果我进入顶层页面,它会再次显示。我做错了什么 re
require(["jquery", "domReady!"], function ($) {
// mobile
$(window).on('touchmove', function () {
if (($(window).scrollTop() > $(window).height() / 2) &&
sessionStorage.getItem('semCroPopupDisabled') !== "true" ) {
$('#croWrapper').animate({
bottom: 0
}, 'fast');
}
});
// desktop
$(window).on('scroll', function () {
if (($(window).scrollTop() > $(window).height() / 2) &&
sessionStorage.getItem('semCroPopupDisabled') !== "true" ) {
$('#croWrapper').animate({
bottom: 0
}, 'fast');
}
});
$('#croWrapper').on('click', '#xclose', function () {
sessionStorage.setItem('semCroPopupDisabled', "true");
$('#croWrapper').hide();
});
});
会话存储用于单个会话,该会话在浏览器关闭时结束。您需要的是本地存储,它具有相同的API,并且不会以会话结束(浏览器关闭)在提问之前阅读文档我认为Michele特别使用sessionStorage,因为她知道它和本地存储之间的区别,并希望会话存储的会话结束时擦除功能。她的问题向我表明,她在给定会话中,而不是在会话之间使用该功能时遇到了问题。如果您发布一个示例片段(甚至只是代码),我将对此进行投票为了更清楚地定义两者之间的区别,一个示例片段实际上是将
sessionStorage
更改为localStorage
,因此几乎没有必要这样做。区别如前所述-会话存储用于会话,该会话在浏览器关闭时结束。本地存储没有。没有比这更重要的了。