var hubCName = 'mts_360_browser'; var hubLoginPage = 'https://www.mts360.com/survey/index.aspx?nl=1'; var blackBoardHub = null; var hubBrowserIdentifier = ''; var blackBoardHub_waiter = null; function blackBoardHub_continueRegisterLogin() { if (hubBrowserIdentifier !== '' && blackBoardHub !== null) { blackBoardHub.server.registerLogin(hubBrowserIdentifier); console.log('[WebSocket] Register Completed'); } } function blackBoardHub_registerLogin() { if (hubBrowserIdentifier === '' || blackBoardHub === null) { blackBoardHub_registerBrowser(); blackBoardHub_waiter = setInterval(function () { console.log('[WebSocket] Waiting for connection', $.connection.hub.state); if ($.connection.hub.state === $.signalR.connectionState.connected) { clearInterval(blackBoardHub_waiter); blackBoardHub_continueRegisterLogin(); } }, 200); } else { blackBoardHub_continueRegisterLogin(); } } function blackBoardHub_registerBrowser() { if (cookieExists(hubCName)) { c = getCookie(hubCName); hubBrowserIdentifier = c.split('=')[1]; if (hubBrowserIdentifier !== null && hubBrowserIdentifier !== '') { blackBoardHub = $.connection.blackBoardHub; blackBoardHub.client.alternateLoginRegistered = function () { console.log('[WebSocket] Alternate login registered'); window.location.href = hubLoginPage; } $.connection.hub .start(function () { console.log('[WebSocket] Started'); }) .done(function () { console.log('[WebSocket] Connected'); blackBoardHub.server.regsiterBrowser(hubBrowserIdentifier); if (window.location.href.indexOf('nl=1') < 0) { if (window.location.href.endsWith('/survey') || window.location.href.endsWith('/survey/') || window.location.href.indexOf('/survey/index.aspx') > -1 || window.location.href.indexOf('/survey/360/data-page') > -1) { console.log('[WebSocket] Triggering login') blackBoardHub_registerLogin(); } } $.connection.hub.disconnected(function () { console.log('[WebSocket] Disconnected'); }); }) .fail(function () { console.log('[WebSocket] Failed'); if (blackBoardHub_waiter !== null) { clearInterval(blackBoardHub_waiter); } }); } } } if (window.location.href.indexOf('data-page') < 0) { blackBoardHub_registerBrowser(); } else { console.log('[WebSocket] Browser register not actionned'); }