2016-12-15 139 views
0

我在我的Ionic 2應用程序中使用socket.io-client。一切工作就像在Android和iOS上的魅力< = 9. 在iOS 10上,我無法建立連接。我做錯了什麼,或者我想念什麼?Socket.io,無法連接iOS 10

「socket.io客戶」: 「^ 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 

任何幫助,將不勝感激!

回答

1

事實證明,最後的Safari瀏覽器對CSP比其他瀏覽器更挑剔。

將ws:// * wss:// *添加到我的Content-Security-Policy中的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://*;">