在Mobile Safari中保持WebSocket的活力

屏幕锁定后,是否可以在Mobile-Safari中保持html 5网页WebSocket连接打开?

我想在一天之内向我的用户发送持续更新,他们的屏幕应始终必须解锁以接收这些通知,这似乎很愚蠢。

还有其他选择吗?

我不认为在浏览器处于后台时或者当屏幕被锁定时保持连接打开是可能的,原因是应用程序基本上冻结在内存中。 以下是类似问题的引用:

你不能打开网络套接字的原因是,当你的应用程序收到连接时没有跳到前台,它无法响应网络流量(因为如果它不在前台,它的内存内容被冻结)。

但是,我确实在网站推送通知上找到了这个页面,向您展示了即使您的网站未在Safari中运行,也可以注册用户以接收通知。

还有其他一些选择:如果要发送连续更新,您可以编写应用程序并按照Apple网站上的说明永久保持套接字打开 ,或者您可以配置应用程序以实现推送通知 。

对不起,我找不到快速修复,但我希望这些选项中至少有一个适合你!

我发现了一种在移动Safari中保持WebSocket活跃的hacky方法。

基本上它与此问题的解决方案相同。

创建一个无限循环音频文件以保持Javascript运行:

  

注意:启动音频文件需要一些用户交互。

如果WebSocket以与音频或video文件相同的方式保持浏览器活动,那将是很好的。

PS这也适用于Android。