[英]Correct way to use onbeforeunload?
我試圖在用戶到達我的頁面時發布數據。 這在chrome,explorer和Firefox中都有效,但是在Firefox上,僅在用戶關閉頁面時才有效。 如果他們回去了,或者去了另一個站點(通過在地址欄或其他地方鍵入內容),則不會發布數據。 我的問題是,使用onbeforeunload發布數據的正確方法是什么?
$(window).bind('beforeunload', function () {
$.post("track.php", {
async: false,
ip: ip,
referer: referer,
clicks: kactane2,
scrolls: kactane,
time: time,
refid: refid,
country: country,
});
});
沒有一個好方法,因為那不是onbeforeunload
使用方式。
使用onbeforeunload
的正確方法是偵聽此事件,然后卸載由於用戶離開頁面而可能使用的任何數據或資源。 您不應該使用它來嘗試開始新事物。 按照HTML5規范 showModalDialog()
alert()
confirm()
和prompt()
明確不允許的,這個想法是給你一點時間來清理任何事件處理程序,網絡工作者和其他的東西干凈。
如果定義了事件處理程序,則可能會向用戶顯示"Are you sure you want to leave?"
但出於安全原因,通常無法自定義表單,但取決於瀏覽器。
您最好將數據設置為cookie或可以快速完成且僅在瀏覽器中進行的操作,然后在下一頁加載時查找該數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.