我正在使用signalR创建聊天应用程序。我添加了signalr.js 1.0.1。 当应用程序如下所示时,我已经在global.asax中创建了signalr hub:
RouteTable.Routes.MapHubs(new Microsoft.AspNet.SignalR.HubConfiguration() { EnableCrossDomain = true });
但我的问题是它有时显示我的错误。
Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
修改 我动态添加了signalr的所有文件
<script lang="javascript" type="text/javascript">
//add all js files for signalR chat dynamically to body
function SetSignalRJs() {
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", "Include/JS/JqueryPlugin/SignalR/jquery.signalR-1.0.1.js");
document.getElementsByTagName("body")[0].appendChild(fileref);
}
function SetHub() {
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", "signalr/hubs");
document.getElementsByTagName("body")[0].appendChild(fileref);
}
function SetChatJs() {
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", "Include/JS/CollectiveIntelligence/ChatApplication.js");
document.getElementsByTagName("body")[0].appendChild(fileref);
}
//apply timeout for all js files
setTimeout(SetSignalRJs, 1000);
setTimeout(SetHub, 5000);
setTimeout(SetChatJs, 6000);
答案 0 :(得分:0)
如果要动态加载脚本,则应使用脚本加载器。 要获得快速简单的解决方案,您可以尝试使用
对于具有依赖性管理的更强大的解决方案等,值得研究: