无法使用 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 个选项卡的主要内容,如果未能解决你的问题,请参考以下文章