2016-05-30 4 views
1

Я ссылаюсь ниже на две библиотеки динамически на моей странице. Когда я просматриваю мое приложение, указанная выше ошибка не появилась в браузере Chrome. Но в Internet Explorer возникает ошибка.SignalR не загружен. Убедитесь, что jquery.sigalR-x.js ссылается до ~/signalr/js

var signalRLibrary = document.createElement('script'); 
signalRLibrary.type = "text/javascript"; 
signalRLibrary.src = 'jquery.signalR-2.1.2.min.js'; 
document.getElementsByTagName('head')[0].appendChild(signalRLibrary); 

var signlaRHub = document.createElement('script'); 
signlaRHub.type = "text/javascript"; 
signlaRHub.src = "~/signalr/hubs"; 
document.getElementsByTagName('head')[0].appendChild(signlaRHub); 

Во время загрузки страницы я получил ошибку ниже, поскольку SignalR не загружен. Убедитесь, что jquery.signalR-x.js ссылается до ~/signalr/js.

if (typeof ($.signalR) !== "function") { 
     throw new Error("SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js."); 
} 

enter image description here enter image description here

+0

Если у вас есть '~/signalr/js' поле в вашей' App_Start/BundleConfig.cs', эта ошибка возможна. Пожалуйста, проверьте его и внесите соответствующие изменения. –

+0

@EmreBolat, мой проект не разработан с использованием MVC. Я ссылался на вышеупомянутые библиотеки на странице HTML. Над кодом работает отлично в браузере Chrome. Не работает в IE. – RGS

ответ

3

JavaScript клиент требует ссылки на JQuery и SignalR ядра JavaScript файла. Версия jQuery должна быть версии 1.6.4 или более поздней версии , например 1.7.2, 1.8.2 или 1.9.1. Если вы решите использовать сгенерированный прокси , вам также понадобится ссылка на созданный SignalR прокси-файл JavaScript. В следующем примере показано, как могут выглядеть ссылки на странице HTML, в которой используется сгенерированный прокси.

<script src="Scripts/jquery-1.10.2.min.js"></script> 
<script src="Scripts/jquery.signalR-2.1.0.min.js"></script> 
<script src="signalr/hubs"></script> 

Эти ссылки должны быть включены в следующем порядке: Jquery первым, SignalR ядро ​​после этого, и SignalR прокси в прошлом.
- от ASP.NET SignalR Hubs API Guide - JavaScript Client

Ваша проблема заключается в том, что каким-то образом, порядок в том, что вы загружаете ссылки неправильно.