我在Ionic 2应用程序中使用socket.io-client。一切都像Android和iOS上的魅力一样工作< = 9。 在iOS 10上,我无法建立连接。我做错了什么或者我错过了什么?
“socket.io-client”:“^ 1.7.2”
this.socket = io.connect(Resources.Constants.API.SERVER_DOMAIN, {
'transports': ['websocket', 'xhr-polling'],
'query': 'token=' + myToken
});
alert('test:' + this.socket.id); // undefined
alert('test:' + this.socket.connected); // false
非常感谢任何帮助!
答案 0 :(得分:1)
事实证明,最后一个Safari对CSP比其他人更挑剔。
在我的Content-Security-Policy中将ws:// * wss:// *添加到我的connect-src解决了我的问题。
<meta http-equiv="Content-Security-Policy" content="default-src data: gap://* file://* https://ssl.gstatic.com *; img-src 'self' * data:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-eval' 'unsafe-inline' *; connect-src 'self' * ws://* wss://*;">