Ich möchte die gesammelten Zugriffsinformationen an den Server übertragen, wenn die Webseite geschlossen wird. Ist das praktisch? ?
Die ungefähre Codestruktur ist wie folgt:
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('你真的要关闭吗?'); //不想加上这个,看起来不友好。
}
Die Frage ist, ist es praktisch, window.onbeforeunload zum Auslösen von Ajax zu verwenden?
Was passiert, wenn das Telefon des Benutzers hängen bleibt oder ein Problem mit dem Netzwerk vorliegt? Besteht eine hohe Wahrscheinlichkeit, dass die Auslösung von Ajax verpasst wird? ?
PS: Ich habe es mit Wamp getestet und es funktioniert.
你这种做法肯定会导致数据丢失的,而且一旦丢失就找不回来。
如果这些数据比较重要的话,建议存一个副本到本地缓存中,每次进来做一次时间戳比对,如果时间戳比上次提交到后台更新,则更新后台数据。
这样做能避免因网络问题导致的数据丢失。