2015-07-13 90 views
0

我正在使用AngularJS和PASSPORT編寫應用程序進行身份驗證。我想擁有登錄後的功能,當瀏覽器窗口關閉時,用戶會自動註銷。AngularJS在關閉瀏覽器窗口時自動註銷

這是我的註銷功能在我廠:

app.factory('authenticate', ['$http', '$window', function($http, $window){ 
    authenticate.logOut = function(){ 
     $window.localStorage.removeItem('token'); 
    }; 

,我想這在HTML的底部添加一個腳本:

window.onbeforeunload = logOut(); 

但是,這是行不通的。我應該做什麼不同?當使用

window.onbeforeunload = function(authenticate) 
{ 
    authenticate.logOut(); 
    return false; 
}; 
+0

在進行作業時刪除包袱 – dandavis

+0

爲什麼不使用sessionStorage而不是localStorage? 「sessionStorage」完全符合你所需要的行爲 - 當瀏覽器關閉時,所有的東西都會被刪除。 –

+0

刪除parens沒有工作@dandavis – OneMoreQuestion

回答

0

請嘗試

+0

這對我不起作用:(@dhh – OneMoreQuestion

+0

而且window.onbeforeunload = authenticate.logOut(); – OneMoreQuestion

+1

如果你只是在瀏覽器刷新? –

-1

做到這一點的最好辦法是localStorage的是localStorage.clear();:以這種方式

+0

我認爲不是最好的方式,事實上我認爲這很簡單,但真的很糟糕,因爲你也會銷燬localStorage中其他腳本的所有信息。 – titusfx