私は現在、ブラウザのホームページとして設定されるスタッフ用のホームページを作成しています。現在、指名されたスタッフが全スタッフに通知できる機能を構築中です。これらは、ページを更新する必要なく、ホームページにポップアップ表示されます。
現在、1 つの通知で正常に機能する以下のコードを取得しましたが、一度に複数の通知が表示されるのを待っている可能性があります。json の出力に切り替えましたが、コードを変更してそれを使用する方法がわかりません。
私は PeriodicalUpdater と jGrowl プラグインを使用してこの機能を実現しています。より良い代替手段があれば、遠慮なく提案してください。
$.PeriodicalUpdater({
url: 'getNotifications.aspx',
maxTimeout: 6000,
type: 'json'
},
function(data) {
var message = data;
if (message != '') {
$.jGrowl(message, { sticky: true });
}
});
追加の機能として、ユーザーが通知を閉じたときに Cookie に保存して、再び表示されないようにすることはできますか?
ありがとう。
OK、コードを更新して今のようにしました。
$(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);
});
しかし、うなり声の通知を閉じると、アラートが発生しませんか?! クッキーに保存するコードを入れる前に、それが機能することを確認するためにそこに持っています。これは正しいように見えますか?