Установить cookie для удаленного элемента - PullRequest
0 голосов
/ 25 марта 2019

У меня есть элемент со значком X (закрыть) в верхнем правом углу.При нажатии на этот значок закрытия я скрываю элемент с помощью некоторого jQuery.Когда я нахожусь на новой странице в том же сеансе, элемент возвращается снова.Я хочу установить cookie для сокрытия элемента после того, как пользователь щелкнул значок закрытия в сеансе.Я нашел это, чтобы установить cookie, но что должно быть внутри?:

Это мой код для элемента

jQuery(document).ready(function() {

//Add close icon in top right corner of element
jQuery("<a class='verwijderen_messenger' href='#'></a>").insertBefore("a#fbmsg-icon");

jQuery("a.verwijderen_messenger").live("click", function(event) {
        event.preventDefault();
        //Hide element
        jQuery("a#fbmsg-icon").css("display", "none");
        jQuery("a.verwijderen_messenger").css("display", "none");
        //
        sessionStorage.setItem("messenger", "hidden");
});

  if (sessionStorage.getItem("messenger") == "hidden") {
            jQuery("a.verwijderen_messenger").remove();
            jQuery("a#fbmsg-icon").remove();
  } 
  else {}

});

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Вы можете использовать localStorage.setItem(key,value) для установки переменной в локальном браузере и localStorage.getItem(key) для получения.

В вашем примере это будет: localStorage.setItem(messenger, 'hidden'), а затем получите переменную в следующем окне с помощью

if(localStorage.getItem(messenger)=='hidden') {
    hideDiv();
} else {
    showDiv();
}
0 голосов
/ 25 марта 2019

Вот три функции для создания, вызова и удаления файлов cookie. Но я бы посоветовал посмотреть в localalstorage, так как они не истекают как куки после определенного периода

function setCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
function eraseCookie(name) {   
    document.cookie = name+'=; Max-Age=-99999999;';  
}
...