SignalR 未加载。请确保在 ~/signalr/js 之前引用 jquery.sigalR-x.js

SignalR is not loaded. Please ensure jquery.sigalR-x.js is referenced before ~/signalr/js

我在我的页面中动态引用了以下两个库。当我浏览我的应用程序时,Chrome 浏览器没有出现下面提到的错误。但在 Internet Explorer 中出现错误。

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,我遇到了以下错误。请确保在 ~/signalr/js.

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

A JavaScript client requires references to jQuery and the SignalR core JavaScript file. The jQuery version must be 1.6.4 or major later versions, such as 1.7.2, 1.8.2, or 1.9.1. If you decide to use the generated proxy, you also need a reference to the SignalR generated proxy JavaScript file. The following example shows what the references might look like in an HTML page that uses the generated proxy.

<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>

These references must be included in this order: jQuery first, SignalR core after that, and SignalR proxies last.
- from ASP.NET SignalR Hubs API Guide - JavaScript Client

你的问题是,不知何故,你加载参考文献的顺序是错误的。

100% working if you want to debug on locally. 如何在本地调试 SingalR?

答案:在 cshtml 页面上拖放 js jquery.signalR-2.4.2.js 在此 way.Don 不使用 min.js 进行调试并在本地使用此版本调试模式。

<script src="~/Scripts/jquery.signalR-2.4.2.js"></script>
<script src="@Url.Content("http://localhost:57305/signalr/hubs")"></script>

从 cdn 下载所有支持的 Signal R js。 https://www.cdnpkg.com/signalr.js/file/jquery.signalR.min.js/