sessionStorage在我返回页面时不会持久存在

时间:2017-11-22 18:28:30

标签: javascript sessionstorage

当访问者访问网站的某个部分时,我正在使用弹出式窗口。当一个访问者点击x弹出窗口关闭时,我希望这个状态在他们访问期间持续存在,这样他们就不会生气。但如果他们关闭浏览器并在另一天回到网站,我希望弹出窗口再次显示。

在Chrome桌面浏览器中:现在,它正在弹出窗口显示的位置,如果我点击它关闭的x,如果我更深入地点击网站上的其他页面,它不会再次显示,但如果我回到它再次弹出的顶级页面。反之亦然,如果我进入内部页面并点击它可以工作,但如果我到达顶级页面它再次显示。我做错了什么?

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();
});
});

1 个答案:

答案 0 :(得分:2)

会话存储用于单个会话,该会话在浏览器关闭时结束。您正在寻找的是本地存储,它具有相同的API,并且不会以会话结束(浏览器关闭)