我想在網頁關閉時,把採集到的訪問資訊ajax到伺服器,實際可行嗎? ?
大概程式碼結構如下:
window.onbeforeunload=function(e){
visit_end=new Date();
visit_long=((visit_end.getTime()-visit_start.getTime())/1000).toFixed(1);
//此处省略以上采集的访问信息
ajax_visit_info(); //在关闭网页时,调用ajax函数发送到后台。
//return confirm('你真的要关闭吗?'); //不想加上这个,看起来不友好。
}
問題是,用window.onbeforeunload觸發ajax,實際應用上 可行嗎?
萬一用戶手機卡了,或是網路出什麼問題,會不會有高機率 錯失觸發ajax? ?
PS:我用wamp測試是可以的。
高洛峰2017-05-19 10:27:34
你這種做法一定會導致資料遺失的,而且一旦遺失就找不回來。
如果這些資料比較重要的話,建議存一個副本到本地快取中,每次進來做一次時間戳比對,如果時間戳比上次提交到後台更新,則更新後台資料。
這樣做能避免因網路問題而導致的資料遺失。