Wenn das ONUNLOAD-Ereignis entweder durch eine Seitenaktualisierung oder ein Browser-Schließen ausgelöst wird, stellt es eine Herausforderung dar, zwischen den beiden Aktionen zu unterscheiden .
Um dieses Problem zu beheben, nutzt die folgende Lösung lokalen HTML5-Speicher und Client/Server-AJAX-Kommunikation:
<code class="javascript">function myLoad(event) { if (window.localStorage) { var t0 = Number(window.localStorage['myUnloadEventFlag']); if (isNaN(t0)) t0=0; var t1=new Date().getTime(); var duration=t1-t0; if (duration<10*1000) { // It's a browser reload } else { // It's a browser close } } }</code>
<code class="javascript">function myUnload(event) { if (window.localStorage) { // Flag the page as unloading window.localStorage['myUnloadEventFlag']=new Date().getTime(); } // Notify the server to disconnect the user in a few seconds askServerToDisconnectUserInAFewSeconds(); }</code>
Das obige ist der detaillierte Inhalt vonWie kann man im onUnload-Ereignis zwischen Seitenaktualisierung und Browser-Schließen unterscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!