window.onbeforeunload = closingCode;
function closingCode(e) {
var evtobj = window.event ? event : e;
if (evtobj == e) {
//firefox
if (!evtobj.clientY) {
if(isRefreshingOrClosingEvent() === 'will be refreshed'){
nothing;
}
if(isRefreshingOrClosingEvent() === 'will be closed'){
refreshToken()
}
}
}
else {
//IE
if (evtobj.clientY < 0) {
if(isRefreshingOrClosingEvent() === 'will be refreshed'){
nothing;
}
if(isRefreshingOrClosingEvent() === 'will be closed'){
refreshToken()
}
}
}
return null;
}
function isRefreshingOrClosingEvent(){
if(pageWillBeRefreshed){
return 'will be refreshed'
}
if(pageWillBeCloseded){
return 'will be closed'
}
}
function refreshToken(){
API.refreshToken();
}
如何在发生之前检测结束事件或刷新事件?
我想要这样,因为例如我有一个令牌的60分钟生命周期。 20分钟后,我将刷新页面=&gt; 40分钟的生命,但如果我关闭页面,我还有40分钟。只有在触发关闭事件时,我才想刷新该令牌有60分钟。可能是在50分钟之后我会打开标签,我希望还有10分钟!