在web程式中,重新整理或者離開當前頁面,需要某些操作時候,可以使用window.onbeforeunload。
但是如何判斷是重新整理還是關閉。就比較複雜了。從網上整理的資料來看,大多是根據滑鼠是否點選右上角的x號來判斷是否是關閉。(僅在ie8中有效)
判斷是不是關閉,應該了解的知識:
1.關於window.event;
window.event.x,y:相對於瀏覽器的位置
window.event.screenx,screeny:相對於使用者顯示器的位置
window.event.clientx,clientx:相對於網頁的位置
window.event.offsetx,offsety:相對於網頁中某一區域的位置。
window.event.altkey:檢查alt鍵的狀態(true or false)
window.event.shiftkey:檢查shift鍵的狀態(true or false)
window.event.crtlkey:檢查ctrl鍵的狀態(true or false)
2.關於window.screen
window.screenleft,screentop :瀏覽器視窗的位置。
總結如下:
body是dom物件body節點,即,
documentelement是整個節點樹,即
由以上知識,判斷點選x關閉瀏覽器的js**為:
var n=window.event.screenx-window.screenleft;
var b=n>(math.min(document.documentelement.scrollwidth,document.body.scrollwidth)-20);
if(b&&window.event,cienty<0|| window.event.altkey)
瀏覽器關閉事件頁面處理
開發中遇到問題 業務希望關閉瀏覽器後後台能夠得到使用者已經離開系統操作訊息,因為這個訊息將會觸發在其他業務系統中功能,所以在實時性上有要求。需求分析 1 js通過繫結onbeforeunload事件在觸發時候呼叫ajax傳送請求到伺服器,但是實際上頁面物件已經釋放了,那麼在ajax還沒有傳送成功時候...
js 瀏覽器視窗 重新整理 關閉事件
1 beforeunload 當瀏覽器視窗關閉或者重新整理時,會觸發beforeunload事件。當前頁面不會直接關閉,可以點選確定按鈕關閉或重新整理,也可以取消關閉或重新整理。2 onbeforeunload 當視窗即將被解除安裝 關閉 時,會觸發該事件.此時頁面文件依然可見,且該事件的預設動作可...
js事件相容處理(不同瀏覽器的事件相容處理)
var eventutil else if element.attachevent else removehandler function element,type,handler else if element.detachevent else getevent function event ge...