2015-11-01 35 views
2

我正在使用AngularJS下的nodeJs和socket.io。socket.io不能在Chrome移動設備上工作,但它在隱身模式下工作

套接字在桌面(所有瀏覽器)上運行得非常好。但不是在手機上。

那麼... 插槽d'ont工作鉻移動,預計在隱身模式。 這裏是一個比特的代碼:

服務器端:

io.on('connection', function(socket){ 
    user = { 
     id: socket.id, 
     socket: socket 
    }; 
    console.log('connection received'); 
    console.log(user.id); 
    socket.emit('files', lib.all()); 

客戶端

socket.on('files', function(data){ 
    var streams = data; 
    if(streams){ 
     $scope.streams = streams; 
    } 
}); 

的lib.all()函數工作正常。 而我有一個角度工廠來處理socket.io(這也很好)。

在鉻移動套接字不接收或發射任何東西。但他們在隱身模式下按預期工作。 以及他們工作在Android的Firefox。

我不是在Chrome中的專家。但我懷疑有什麼特別/奇怪的事情發生。防火牆?代理?

有人知道這個解決方法嗎?

謝謝,祝你有美好的一天!

P.S:在啓用了仿真的chrome桌面上工作正常。

編輯: 我創辦什麼的挫折感:

Chrome行動 '數據保護' 選項。那些使用谷歌服務器減少數據的人。

套接字可能在通過Google服務器時遇到麻煩..仍然是一種解決方法。

+0

我有這個問題,以及不同的是它甚至沒有在隱身加載所有固定這一點。 :/ – azariah

回答

0

您是否對任何javascript使用完整性屬性?

我對於具有SHA-256不匹配的bootstrap.js的CDN存在問題,導致內容被Chrome Data Saver阻止。

我改變src="//my.cdn.jssrc="https://my.cdn.js

+0

上面的代碼在我的項目中完全改變了, 我切換了前端框架,並且整個代碼都是從零開始重新完成的...... 所以我無法回答你。 但是有可能是的,這個問題確實是由於來源混淆以及socket.io主機定義錯誤。 希望它幫助無論如何:) – donkino

相關問題