У меня есть следующий код, который извлекает данные JSON со страницы ASP.NET и отображает их как уведомления. Код также запомнит, что было выполнено, и сохранит его в массиве, чтобы предотвратить его повторное отображение в том же сеансе.
Сейчас я пытаюсь реализовать функциональность, чтобы, когда пользователь закрывает сообщение, его идентификатор записывается в cookie, чтобы оно больше не отображалось. Чтобы сделать это, я пытаюсь записать в файл cookie при возникновении события beforeClose.
Все остальное работает отлично, кроме сохранения в файл cookie. Что-то не так с моим кодом, который я пропускаю?
var alreadyGrowled = new Array();
var noteCookie = $.cookie("notificationsViewed");
if (noteCookie != null) { alreadyGrowled = noteCookie.split(","); }
function growlCheckNew() {
$.getJSON('getNotifications.aspx', function(data) {
$(data).each(function(entryIndex, entry) {
var newMessage = true;
$(alreadyGrowled).each(function(index, msg_id) {
if (entry['ID'] == msg_id) {
newMessage = false;
}
});
if (newMessage == true) {
$.jGrowl(entry['Message'], {
sticky: true,
header: entry['Title'],
beforeClose: function(e, m) {
$.cookie("notificationsViewed", entry['ID']);
}
});
}
alreadyGrowled.push(entry['ID']);
});
});
}