2013-03-07 2 views
0

우리는 최근에 웹 응용 프로그램의 대시 보드에서 작업했습니다. Dashboard는 주로 ASP.NET SignalR을 사용하므로 정보를 브라우저 새로 고침없이 실시간으로 변경할 수 있습니다.Jquery easyticker 스크립트가 작동하지 않습니다.

요구 사항 중 하나는 메시지 보드의 개요를 보여주는 facebook 스타일의 뉴스 티커를 갖는 것입니다. 나는 최근에 Easy ticker라는 jQuery 플러그인을 발견했다. 기본적으로 div 내 요소를 때때로 보여줍니다.

처음에는 div 콘텐츠가 비어 있고 정보가 제공되면 삽입됩니다. 이는 SignalR을 통해 수행됩니다. 하지만 쉽게 시세 표시기 플러그인을 참조 할 때마다 아무 것도 나타나지 않습니다. 난 방화범이 끌 렸어 그래서 출력물을 보면 모든게 괜찮은 것 같아 내가 잘못하고 있는게있어? 당신에게 당신의 receiveMessage 클라이언트 방법 SignalR에서 보낸

<html> 

<body> 
<div id="latest-messages"> 

    <div class="message-content" style="position: absolute; margin: 0px; top:  51.911805555555546px;"> 
    </div> 

</div> 


<script src="js/json2.js" type="text/javascript"></script> 
<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script> 

<script src="js/jquery.easy-ticker.js" type="text/javascript"></script> 
<script src="js/jquery.signalR-1.0.1.min.js" type="text/javascript"></script> 
<script src="/signalr/hubs"></script> 
<script type="text/javascript"> 

     $('#latest-messages').easyTicker({ 

      direction: 'down', 
      interval: 7000   

     }); 

     // Declare a proxy to reference the hub 
     var hub = $.connection.messageHub; 

     // Create a function the hub can call to send messages 
     hub.client.receiveMessage = function (message) { 

     // Html encode the message 
     var encodedMessage = $('<div />').text(message).html(); 

     var data = JSON.parse(encodedMessage); 

     // Clear previous messages 
     $('.message-content').empty(); 

     // Display each item 
     // in the json-array 
     $.each(data, function() { 

      $('.message-content').append(
       '<div>' + 
       '<b>' + this['Subject'] + '</b>' + '<br/>' 
       + 'Date Created: ' + this['DateCreated'] + '<br/>' 
       + 'Sent by: ' + this['SentBy'] + '</div>' 

      ); 

      }); 


     }; 

     // Start the connection 
     $.connection.hub.start(); 
</script> 

</body> 
</html> 
+0

이 문제와 관련되지 않을 수 있지만 anyother JS 아무것도 표시되지 여전히 어떤 변화를하지 않는 것 @dakait – dakait

+0

파일 추가하기 전에 jquery.js를 포함 : HTML 인코딩 전에 보내고 stringify을보십시오. 출력 측면에서 나는 [this] (http://www.aakashweb.com/resources/pages/demos/jquery-easy-ticker/)와 같은 것을 기대하고있다. – Henry

답변

0

데이터를 감사하는 것 대신하지 stringified하지만 일반 자바 스크립트 객체입니다.

hub.client.receiveMessage = function (message) { 

     // Html encode the message 
     var stringifiedMessage = JSON.stringify(message); 
     var encodedMessage = $('<div />').text(stringifiedMessage).html(); 
     // ... 
+0

메시지는 Newtonsoft.Json을 사용하여 컬렉션에서 직렬화된다. 문제없이 JSON 객체와 데이터를 얻을 수 있지만 아무 것도 표시하지 않는 뉴스 시세 플러그인입니다. – Henry

+0

FWIW, SignalR은 Newtonsoft.Json을 사용하여 허브 매개 변수를 직렬화하므로 직접 처리 할 필요가 없습니다. – halter73

+0

괜찮습니까 ... 그래서 당신의 말은 제가 컬렉션을 전달할 수 있다는 것이고 SignalR이 제게 직렬화 할 것입니다. 꽤 재미있는 thats. 그러나 내 문제는 jQuery 쉽게 시세 표시기를 통해 결과가 나온 후에도 아무것도 표시하지 않는다는 사실입니다. – Henry

관련 문제