无法使用 SignalR 在 safari ipad/iphone 上的同一 Web 应用程序中同时打开 2 个选项卡

Posted

技术标签:

【中文标题】无法使用 SignalR 在 safari ipad/iphone 上的同一 Web 应用程序中同时打开 2 个选项卡【英文标题】:cannot open simultaneously 2 tabs within same web app on safari ipad/iphone using SignalR 【发布时间】:2014-03-04 19:13:51 【问题描述】:

Web 应用程序由 require.js、jquery、underscorejs、signalR 提供支持。带有 knockoutjs 的 MVVM。 在一个标签内工作很好。尝试在新选项卡中打开应用程序的一部分,不起作用。查看 safari web 检查器显示不同的脚本/ css 是无休止的加载。如果我切换回第一个打开的选项卡,它仍然可以正常工作并且可以重新加载。如果我关闭第一个选项卡,则加载第二个选项卡就可以了(无需重新加载,似乎它在第一个选项卡中等待某些内容)。

感谢您的帮助。

编辑: 我发现原因是 SignalR - 禁用它后,第二个选项卡运行良好。这很奇怪,因为 ipad 限制是 5 个并发连接,而​​ signalR 保持打开一个。 有任何想法吗 ? SignalR 是 1.1.2

【问题讨论】:

【参考方案1】:

找到原因:ios Safari 被限制为每个服务器一个活动连接,这导致第二个选项卡等到第一个选项卡关闭。

使用长池解决了这个问题:

$.connection.hub.start( transport: 'longPolling' );

【讨论】:

以上是关于无法使用 SignalR 在 safari ipad/iphone 上的同一 Web 应用程序中同时打开 2 个选项卡的主要内容,如果未能解决你的问题,请参考以下文章

在浏览器堆栈上安装 Ipa

在safari中下载的ipa如何安装到ipad上?或者传输到电脑上?

怎样通过iPhone Safari 来安装测试版ipa

iPhone页面的常用调试方法

从服务器发布的 SignalR 无法正常工作

SignalR:无法获取属性“开始”的值:对象为空或未定义