為什麼這篇瀏覽器 session鄉民發文收入到精華區:因為在瀏覽器 session這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者onininon (萬)看板Web_Design標題[問題] 使用者關完分頁 關閉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)
※ 編輯: 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)
※ 編輯: onininon 來自: 220.133.189.82 (11/16 11:28)
只是以上都是在chrome正確執行
剛測試firefox count有歸0,可是沒登出,會不會ajax被擋了orz
ie9 cookie寫入失敗,囧。
快放棄了,跟boss講沒辦法做到好了( ′-`)y-~。
※ 編輯: onininon 來自: 220.133.189.82 (11/16 16:10)
ie沒成功是因為程式碼是在<!--[if !IE]>-->底下 orz
修改後就沒問題了
firebug是在網路那邊看嗎?
可是關掉網頁之後那些訊息也重置了,這樣要怎麼看orz
※ 編輯: onininon 來自: 220.133.189.82 (11/16 17:56)
感謝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)
※ 編輯: onininon 來自: 220.133.189.82 (11/17 17:25)