javascript - 尝试在 Chrome 扩展程序中使用 SignalR 连接到集线器时出错

标签 javascript asp.net google-chrome google-chrome-extension signalr

我们正在尝试使用 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) {

我们目前正在使用这个系统来设置我们的函数以供 hub 调用:

chatProxy.on('loginSuccess', function (token) {

我们不确定为什么会出现错误,也不确定如何修复代码,因为我们基本上完全遵循了 signalR 2.0.0 教程。它在 Chrome 扩展程序中的功能似乎与在 Web 应用程序中的功能不同。任何想法或意见都会有所帮助,谢谢。

编辑: 我们的 list 看起来像这样:

{
"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 中。

最佳答案

我认为您应该在您的页面(在本例中为扩展程序背景页面)中包含一个指向 http://yourDomain/signalr/hubs 的脚本。但是由于您的扩展程序位于不同的域中,因此您需要 allow cross-domain requests .

关于javascript - 尝试在 Chrome 扩展程序中使用 SignalR 连接到集线器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801442/

相关文章:

google-chrome - 如何将 AdSense 添加到我的 chrome 扩展程序中?

css - 奇怪的 Chrome 图像大小调整行为

javascript - 将 jQuery 数据表行作为参数传递给 JavaScript 函数

php - Jquery 中的 MsgBox,将信息传递给 PHP 并检索结果

javascript - 使用 NodeJS 记录像 pm2 这样的表

html - ASP.NET 主页导航当前页面 Css

c# - 如何在不将图像大小存储在数据库中的情况下在asp repeater中动态更改图像大小

asp.net - 如何连接到 Azure Redis 缓存

jquery - 试图了解 jQuery .css 如何在 native javascript 中运行?

javascript - 代码在 chrome、firefox、microsoft edge 中运行良好但在 safari 中不起作用