2013-12-17 88 views
0

不知道我是否已經unset($_SESSION['enough']);並想在關閉頁面時將其釋放。 [假設訪問者觀看在新標籤頁的網站頁面的頁]關閉頁面時發生火災事件

我使用這個代碼

<script language="javascript"> 
window.onbeforeunload = function() { 
console.log('event'); 
return false; 
} 
</script> 

我不知道如何可以適用於消防這段代碼unset($_SESSION['login_id']);,它可能看起來調侃但這是基本思想,我會給例子什麼可以用於

例如:媒體網站希望成員不要在同一時間觀看多個視頻,以便觀看頁面放下會話並釋放它關閉它可以觀看更多!對於使用jwplayer的網站來說,js的確是必不可少的,所以沒有機會談論有js殘疾的成員。

回答

1

爲了加載運行unset()命令killsession.php,你可以用async:false

看一看 Ajax request with JQuery on page unload

jQuery.ajax({url:"http://localhost/killsession.php", async:false}) 
+0

非常感謝,我用'onbeforeunload'應用了它,結果非常完美。 –

0

您可以使用jQuery在使用unload函數(http://api.jquery.com/unload/)卸載時觸發。

$(window).unload(function() { 
    // On the unload, we can fire a request back to the server 
    // .get(), .post(), and .ajax() may be useful. 
}); 
+0

感謝分享運行與阿賈克斯該頁面你回答,但我想知道如果我們假設我們已經用代碼'unset($ _ SESSION ['enough']);''而不是'alert(「Bye now!」)來提交'killsession.php';'我們執行它在關閉頁面時釋放會話。 –

+1

您有正確的想法:使用'.get()','.post()'或'.ajax()'調用'killsession.php'。一旦用戶訪問該頁面,他們的會話將被更新。 – Julio