2016-03-03 61 views
1

我開發了一個簡單的聊天應用程序,我使用$window.onbeforeunload通知其他用戶有人關閉標籤頁/瀏覽器(基本上是用戶離開房間時)。window.onbeforeunload在Android Chrome上不會觸發[alt。解決方案?]

這裏是我的代碼

$scope.onExit = function() { 
     $scope.chatstatus.$add({ 
      status: $scope.getUsername + ' left'  
     }); 
    }; 

    $window.onbeforeunload = $scope.onExit; 

這是工作在桌面瀏覽器絕對罰款,對Android Chrome瀏覽器。 onbeforeunload函數根本沒有被觸發。

請建議解決方案/ 解決方法。謝謝。

編輯:正如評論中提到的那樣,這是一個已知問題,如果不是解決方案,請提出解決方法。

+0

可能複製http://stackoverflow.com/questions/17535076/android-chrome-window-onunload的? – messerbill

回答

0

看起來你需要檢查onbeforeunload和onunload。

這個答案看起來是一個很好的方法來做到這一點。

Android Chrome window.onunload

window.onunload = window.onbeforeunload = function() { 
    var guid = sessionStorage.getItem("WindowGUID"); 
    var tmp = JSON.parse(localStorage.getItem("WindowGUIDs")); 
    tmp = tmp.remove(guid); // remove is a custom prototype fn 
    localStorage.setItem("WindowGUIDs", JSON.stringify(tmp)); 
}); 
+1

其在評論中提到的不起作用 –

+1

我的錯誤,我只是想到了「這在Chrome中起作用」的評論。從搜索來看,它似乎是移動Chrome中長期存在的問題。 https://bugs.chromium.org/p/chromium/issues/detail?id=339341 – Seano666

+0

任何解決方法? –

相關問題