我们正在尝试使用 SignalR 将聊天风格的应用程序作为 Chrome 扩展程序。我们已尝试将我们使用的 SignalR 从 1.1.3 更新到 2.0.0。
我们在加载扩展时收到此错误:
Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'></script>.
当我们的 HTML 中有脚本时,我们仍然会收到错误以及 GET 错误。
我们也试过:
<script src="/signalr/hubs"></script>
这是我们的连接设置:
connection = $.hubConnection('http://ourUrl');
在此之前,我们使用它来设置我们的聊天:
var chat = $.connection.chatHub;
这是我们现在的 chatProxy 设置:
chatProxy = connection.createHubProxy('chatHub');
我们在初始设置中没有使用聊天代理。
紧随其后的是我们的 hub.start:
$.connection.hub.start().done(function () {
我们使用以下方式调用集线器:
chatProxy.invoke('methodName',
我们使用以下方式调用集线器:
chat.server.methodName()
我们正在为集线器设置要调用的函数:
chat.client.functionName = function (token) {
我们目前正在使用这个系统来设置我们的功能以供集线器调用:
chatProxy.on('loginSuccess', function (token) {
由于我们基本上完全遵循了 signalR 2.0.0 教程,因此我们不确定为什么会出现错误并且不确定如何修复代码。它在 Chrome 扩展程序中的功能似乎与在 Web 应用程序中的功能不同。任何想法或意见都会有所帮助,谢谢。
编辑:我们的清单如下所示:
{
"name": "String",
"description": "String",
"version": "1.2",
"app": {
"background": {
"scripts": ["/js/background.js", "/js/jquery-2.0.3.js", "/js/window.js", "/js/jquery.signalR-2.0.0.min.js"]
}
},
"icons": { "16": "/images/icon16.png", "128": "/images/icon128.png" },
"permissions": [ "http://ourUrl/" ]
}
所有的 javascript 代码都在 document.ready() 的顶部。在 window.js 中。