在iOS 10的Safari(有时)或全屏web应用程序(当你将网页添加到Home screen时)中,当有firebase后台连接时,状态栏网络活动指示器会永远旋转…在iOS 8和iOS 9中,当Firebase连接时,这个指示灯消失了,所以用户不会警告这个小的网络信息(websockets),正如苹果的UI指南所述:https://developer.apple.com/ios/human-interface-guidelines/ui-controls/progress-indicators/
仅当网络运行时间大于a时显示该指标几秒钟。为了便于网络快速操作,请不要显示该指示灯因为它很可能在人们发现之前就消失了明白了沟通的意义。
iOS 10的Firebase中是否有任何配置可以避免此指示?还是苹果新iOS系统的bug ?
IOS 10改变了与websockets相关的CSP策略的行为。我将firebase域添加到connect-src CSP中,它工作了。在default-src中放入*是不够的,我没有成功地放入它。这是对我的index.html的更改,添加connect-src CSP策略
<meta http-equiv="Content-Security-Policy" content="img-src *
'unsafe-eval' 'unsafe-inline' data:; default-src * 'unsafe-eval'
'unsafe-inline'; connect-src * wss://*.firebaseio.com 'unsafe-eval'
'unsafe-inline' 'self' ">
你也可以只修改default-src来连接任何域:
default-src * wss://*;
在以前的iOS (8 &9)如果您使用默认的src *,则不需要此connect-src。感谢Michael Lehenbauer的"light"