2014-05-15 5 views
0

$ (function() 이벤트에서 신호기를 분리하려고 벽에 머리를 두드리는 중입니다. 필요에 따라 외부 스크립트에서 신호 연결을 시작할 수 있습니다. . 문제는 내가 접근 할 수있는 방법을 찾을 수 있었다이다자바 스크립트 클라이언트에서 SignalR 지연 시작

$(function() { 
    var srhub = $.connection.chatHub; 
    $.connection.hub.url = 'url here'; 
    $.connection.hub.start().done(function() {}); 
    /more code here removed 
}; 

main.js

uiShow = function (show, inFullpage) { 
    //Start SignalR here 
    //more code here removed 

sr.js하십시오 requirejs 모듈)에 여기 내 코드입니다 잇다 main.js 내부 또는 외부에서 ion 객체를 가져 와서 main.js의 signalr 연결을 트리거하십시오.

main.js

uiShow = function (show, inFullpage) { 
    chatconnect(); 
    //more code here removed 

sr.js

$(function() { 
    var srhub = $.connection.chatHub; 
    $.connection.hub.url = 'url here'; 
} 

function chatconnect() { 
    $.connection.hub.start().done(function() {}); 
} 

$ .connection 개체가로드 때보 접근 어디서나 다른되지 않습니다 :

는 내가 원하는 것은이 같은 것입니다 그래도 스크립트는 작동하지 않습니다. 미리 감사드립니다.

+0

호기심, requirejs에서도/signalr/hubs 끝점을 구성 했습니까? – Wasp

+0

처음에는 그렇습니다. 단지이 문제로 인해 작동이 가능했지만 외부의 요구 사항으로 돌아갔습니다. ' – user3640335

답변

0

어디에서나 사용할 수 있도록 허브를 글로벌하게 정의 할 수 있습니까?

var srhub = $.connection.chatHub; 

$(function() { 
    $.connection.hub.url = 'url here'; 
    $.connection.hub.start().done(function() {}); 
    /more code here removed 
}; 
+0

이것이 문제였습니다. 감사합니다! -이 문제가있는 다른 사람들을 위해 전역 conn 객체를 선언하고 $ (function())에 $ .connection을 할당하고 kravits 주석 당 srhub와 동일한 작업을 수행하십시오. 그러면 conn.hub가있는 함수에서이 객체에 액세스 할 수 있습니다. start(). done (function() {}); – user3640335

관련 문제