Показать всплывающее окно jQuery только при первом посещении страницы

Я новичок в jQuery, и у меня есть некоторые потребности на моем сайте. Я хочу показать всплывающее окно jQuery div в первый раз, только когда пользователь придет. Нет необходимости показывать снова и снова.

Тем не менее, я использую это, но я не знаю, как скрыть во второй раз:

var isshow=0;
$(document).ready(function() {
   if (isshow == 0) {
     $('#jPopup').show();
   }
   isshow = 1;
});

Но переменная ishow инициализируется каждый раз.

Ответ 1

Вы можете использовать localstorage. Его легко понять и использовать.

$(document).ready(function() {
    var isshow = localStorage.getItem('isshow');
    if (isshow== null) {
        localStorage.setItem('isshow', 1);

        // Show popup here
        $('#jPopup').show();
    }
});

Он покажет вам всплывающее окно при первом посещении вашего сайта.

Ответ 2

Вы можете использовать SessionStorage или LocalStorage для этого в соответствии с вашими потребностями.

Если вам нужно сделать только для этого сеанса, используйте SessionStorage. Если он должен храниться постоянно в браузере пользователя, используйте LocalStorage.

    $(document).ready(function(){
        if(sessionstorage && !sessionStorage.getItem('isshow')){
            $('#jPopup').show();
            sessionStorage.setItem('isshow', true);
        }
    });

Ответ 3

Вы можете использовать localStorage для этой цели, как показано ниже:

$(document).ready(function(){
   var shown= localStorage.getItem('isshow');
    if(shown !="t"){
        $('#jPopup').show();
        localStorage.setItem('isshow', "t");
    }
});

Ответ 4

Вы можете установить cookie для хранения значения и проверить, не установлено ли оно, а затем отобразить всплывающее окно:

$(document).ready(function() {
    var isshow = $.cookie("isshow");
    if (isshow == null) {
        $.cookie("isshow", 1); // Store

        // Show popup here
        $('#jPopup').show();
    }
});

Или вы можете установить localStorage. Вот рабочий пример. jsFiddle

$(document).ready(function() {
    if(localStorage.getItem('popState') != 'shown') {
        $("#popup").delay(2000).fadeIn();
        localStorage.setItem('popState','shown')
    }
});

Ответ 5

Вам нужно скрыть его при загрузке или сделать это в css (рекомендуется), а затем проверить localstorage, чтобы узнать, является ли это первым посещением.

$(document).ready(function() {
        $('#jPopup').hide(); //hide on load or in css, later check if its the first visit
        var isshow= localStorage.getItem('status');
        //check if it is the first visit
        if (isshow == null || isshow == '') {
            //set variable to 1
            localStorage.setItem('isshow', 1);
            $('#jPopup').show();
        }
        });