[問題] 使用者關完分頁 關閉session
大家好:
問題: 如何要確認使用者在瀏覽器上,已經沒有連線的網頁?
不是使用者關閉瀏覽器,而是關閉分頁而已。
我想要當使用者沒開啟網頁的時候就把SESSION關閉(登出)。
測試: 看到jquery有$(window).unload()
我在裡面放了$.ajax,傳送要求到logout.php
測試後,確實關閉分頁後就會連線到logout.php
但其他分頁也沒有SESSION了
請問要如何修改??
環境:php
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.189.82
※ 編輯: onininon 來自: 220.133.189.82 (11/15 16:21)
→
11/15 16:27, , 1F
11/15 16:27, 1F
→
11/15 16:29, , 2F
11/15 16:29, 2F
推
11/15 16:32, , 3F
11/15 16:32, 3F
→
11/15 18:09, , 4F
11/15 18:09, 4F
→
11/15 18:09, , 5F
11/15 18:09, 5F
→
11/15 18:10, , 6F
11/15 18:10, 6F
→
11/15 18:11, , 7F
11/15 18:11, 7F
→
11/15 18:11, , 8F
11/15 18:11, 8F
感謝 我去實作看看
推
11/15 18:23, , 9F
11/15 18:23, 9F
→
11/15 18:24, , 10F
11/15 18:24, 10F
orz 所以要另外想方法 達成關完分頁也要登出
※ 編輯: onininon 來自: 220.133.189.82 (11/16 10:26)
感謝chrisQQ大大 好像成功了orz
程式碼:
$(document).ready(function() {
if(!$.cookie("count")||parseInt($.cookie("count"))<1)
$.cookie("count","1");
else
$.cookie("count",(parseInt($.cookie("count"))+1).toString());
$(window).unload( function () {
$.cookie("count",(parseInt($.cookie("count"))-1).toString());
if($.cookie("count")=="0")
{
$.ajax
({
url: 'logout.php',
error: function(xhr) {},
success: function(response)
{
}
})
}
});
可是我的頁面裡面有iframe,開一個網頁,count就+2
可是關掉後只-1,導致數字錯誤orz...
為什麼只-1呢orz
※ 編輯: onininon 來自: 220.133.189.82 (11/16 11:16)
推
11/16 11:19, , 11F
11/16 11:19, 11F
→
11/16 11:20, , 12F
11/16 11:20, 12F
感謝說明 看來我只能把cookie放在最外層了orz
※ 編輯: onininon 來自: 220.133.189.82 (11/16 11:28)
→
11/16 12:06, , 13F
11/16 12:06, 13F
→
11/16 12:06, , 14F
11/16 12:06, 14F
嗯嗯 感謝 這樣子的確就不會多加了
只是以上都是在chrome正確執行
剛測試firefox count有歸0,可是沒登出,會不會ajax被擋了orz
ie9 cookie寫入失敗,囧。
快放棄了,跟boss講沒辦法做到好了( ′-`)y-~。
※ 編輯: onininon 來自: 220.133.189.82 (11/16 16:10)
→
11/16 16:39, , 15F
11/16 16:39, 15F
→
11/16 16:39, , 16F
11/16 16:39, 16F
→
11/16 16:39, , 17F
11/16 16:39, 17F
→
11/16 16:40, , 18F
11/16 16:40, 18F
對不起我耍笨了
ie沒成功是因為程式碼是在<!--[if !IE]>-->底下 orz
修改後就沒問題了
firebug是在網路那邊看嗎?
可是關掉網頁之後那些訊息也重置了,這樣要怎麼看orz
※ 編輯: onininon 來自: 220.133.189.82 (11/16 17:56)
推
11/16 18:03, , 19F
11/16 18:03, 19F
→
11/16 18:05, , 20F
11/16 18:05, 20F
→
11/16 18:05, , 21F
11/16 18:05, 21F
→
11/16 18:06, , 22F
11/16 18:06, 22F
→
11/16 18:06, , 23F
11/16 18:06, 23F
→
11/16 18:07, , 24F
11/16 18:07, 24F
→
11/16 18:07, , 25F
11/16 18:07, 25F
→
11/16 18:08, , 26F
11/16 18:08, 26F
→
11/16 18:08, , 27F
11/16 18:08, 27F
感謝chcrisQQ大大的熱心回答,unload裡有alert,chrome和fx和ie都擋住了XD
裝了鯊魚,找http.request,看不懂阿orz,url放在哪裡orz
這樣子就好了,跟boss講fx不支援( ′-`)y-~
※ 編輯: onininon 來自: 220.133.189.82 (11/17 11:15)
找到重大bug!如果只開一個頁面,然後按重新整理,ie和fx就會幫我登出了orz
chrome倒是不會,把這個bug跟boss講他大概就會放棄這功能了( ′-`)y-~
※ 編輯: onininon 來自: 220.133.189.82 (11/17 11:58)
→
11/17 12:52, , 28F
11/17 12:52, 28F
→
11/17 12:52, , 29F
11/17 12:52, 29F
感謝回答,這的確是個方法,不過伺服器可能會過載XD,我還是去說服BOSS比較實際!
※ 編輯: onininon 來自: 220.133.189.82 (11/17 17:25)
→
11/17 18:17, , 30F
11/17 18:17, 30F