В настоящее время я создаю домашнюю страницу для наших сотрудников, которая должна быть установлена в качестве домашней страницы в их браузере.В настоящее время я строю объект, благодаря которому назначенные сотрудники могут отправлять уведомления всем сотрудникам.Они появятся на их домашней странице, и им не нужно будет обновлять страницу.
В настоящее время у меня есть приведенный ниже код, который отлично работает для 1 уведомления, но может быть более 1 одновременно, ожидаябыть показано.Я переключился на вывод json, но я не уверен, как изменить свой код для его использования.
Я использую плагины PeriodicalUpdater и jGrowl, чтобы получить эту функциональность, если есть лучшие альтернативы, тогда не стесняйтесьпредложите их.
$.PeriodicalUpdater({
url: 'getNotifications.aspx',
maxTimeout: 6000,
type: 'json'
},
function(data) {
var message = data;
if (message != '') {
$.jGrowl(message, { sticky: true });
}
});
В качестве дополнительной функциональности можно ли сохранить файл cookie, когда пользователь закрыл уведомление, чтобы они его больше не видели?
Спасибо.
Хорошо, я обновил код, чтобы он стал теперь;
$(document).ready(function() {
var alreadyGrowled = new Array();
var growlCheckNew = function() {
$.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) {
alert('About to close this message');
}
});
}
alreadyGrowled.push(entry['ID']);
});
});
}
growlCheckNew();
var msgTimer = setInterval(growlCheckNew, 1000);
});
Однако мои предупреждения не срабатывают, когда я закрываю уведомление о рычании ?!У меня есть это, чтобы проверить, что это работает, прежде чем вставлять код, чтобы сохранить его в куки.Это выглядит правильно?