2010-04-09 9 views
1

현재 브라우저에 홈페이지로 설정되어있는 직원 용 홈페이지를 만들고 있습니다. 나는 지명 된 직원이 모든 직원에게 통지를 보낼 수있는 시설을 현재 짓고있다. 이들은 홈페이지를 새로 고칠 필요없이 홈페이지에서 팝업됩니다.jQuery를 사용하는 동적 알림

나는 현재 1 통보를 위해 잘 작동하는 코드를 가지고 있지만, 한 번에 1 통 이상 표시 될 수 있습니다. json 출력으로 전환했지만 사용하기 위해 코드를 수정하는 방법을 모르겠습니다.

이 기능을 사용하려면 PeriodicalUpdater 및 jGrowl 플러그인을 사용하고 있습니다. 더 나은 대안이있는 경우 자유롭게 사용해보십시오.

$.PeriodicalUpdater({ 
     url: 'getNotifications.aspx', 
     maxTimeout: 6000, 
     type: 'json' 
    }, 
    function(data) { 
     var message = data; 
     if (message != '') { 
      $.jGrowl(message, { sticky: true }); 
     } 
    }); 

기능의 추가 조각으로, 그들이 다시 표시되지 않도록 사용자가 알림을 닫을 때 쿠키에 저장 할 수 있을까요?

감사합니다.


그래, 이제 코드가 업데이트되었습니다.

 $(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); 

    }); 

그러나 으르렁 알림을 닫으면 내 알리미가 실행되지 않습니까?! 쿠키를 저장하기 위해 일부 코드를 입력하기 전에 작동하는지 확인하기 위해 거기에 넣었습니다. 이게 옳은 것 같니?

답변

2

당신이 출력 모든하여 JSON 출력에 목록으로 메시지와 단순히 자바 스크립트에서 메시지 목록을 반복 할 수 있습니다.

JSON 출력 :

{ 
    messages:['msg1', 'msg2', 'msg3'] 
} 

자바 스크립트 : 우리는 .XML을 편집 할 수있는 무료 도구와의 IIS 백엔드에서 실행되는 RSS 파일을 사용하는 비슷한 상황에서

$.PeriodicalUpdater({ 
    url: 'getNotifications.aspx', 
    maxTimeout: 6000, 
    type: 'json' 
}, 
function(data) { 
    for(message in data.messages) { 
     $.jGrowl(message, { sticky: true }); 
    } 
}); 
+0

이 내용을 원래 언급 했어야합니다. json에서 두 개의 객체를 출력하는 경우 어떻게 작동합니까? 제목과 메시지? – sparkymark75

+0

각 알림에는 제목과 메시지 본문이 있습니까? 문자열 목록 대신 객체 목록을 출력하면됩니다. – z33m

0

쿠키 문제는 the jQuery Cookie plugin을 사용할 수 있습니다.

구문 :

// To set a cookie ‘foo’ with value 'bar': 
$.cookie('foo', 'bar'); 
// To get the value stored in a cookie: 
$.cookie('foo'); // 'bar' 
0

. 그런 다음 RSS 위젯을 사용하여 최신 뉴스를 표시하고 일부 사람들은 RSS 리더를 사용했으며 다른 사용자는 Outlook을 사용했습니다.

빠르고 간단합니다.