2017-07-04 4 views
0

Aus irgendeinem Grund wird die Methodenanzeige vor location.reload() verarbeitet. Hier ist meine Syntax:Warum HTML-Seite aktualisieren langsam ist

$(document).ready(function() { 
 
    $("#refresh").click(function() { 
 
    alert("before refresh") 
 
    location.reload(); 
 
    display() 
 
    }) 
 
}) 
 

 
function display() { 
 
    alert("hello world") 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="refresh"> 
 
    refersh and continue 
 
</button>

Mein Ziel hier ist es, die Seite zu aktualisieren, wenn die Schaltfläche geklickt wird dann Display-Methode aufrufen. Das Problem besteht darin, dass die Anzeigemethode aufgerufen wird, bevor die Seite aktualisiert wird. Zunächst ist das, was ich erreichen will erreichbar. Wenn nicht, welche anderen Wege können gehen, um das Problem zu lösen?

+0

Sie müssen die Refresh-Methode innerhalb des Dokuments bereit und in einer Bedingung, die auf was auch immer gesetzt werden sollte, wenn Sie auf "# aktualisieren" -Element setzen. Vielleicht kannst du dafür 'localStorage()' verwenden – Ionut

+3

'Zuallererst, ist das, was ich erreiche erreichbare 'Ja - aber nicht in der Art und Weise, die du versuchst. Sie müssen das 'alert()' im Ladevorgang der Seite anzeigen. Sie können nichts auf einer Seite tun, nachdem ein Unload-Ereignis aufgerufen wurde (wie beim Aufruf von 'reload()'), da die Seite nicht mehr existiert. –

+2

@RoryMcCrossan Das scheint richtig, aber es ruft tatsächlich die Funktion 'display()' auf, obwohl es hinter 'location.reload()' steht. Warum das? – Barmar

Antwort

0

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 

 
<script> 
 
$(document).ready(function(){ 
 
display(); 
 
    $("#refresh").click(function(){ 
 
    alert("before refresh") 
 
    //location.reload(); 
 
    display(); 
 
    }); 
 
}) 
 

 
function display(){ 
 
    alert("hello world") 
 
} 
 

 
    </script> 
 
<button id="refresh"> 
 
refersh and continue 
 
</button> 
 

 

 
</body> 
 
</html>

die Sie interessieren, rufen Sie die Anzeigemethode auf das Dokument zu laden und den Reload() bei Bedarf Zusatzanzeige() in Refresh entfernen.

0

Sie könnten versuchen, Ihre display-Methode dem document.onload-Ereignis zuzuweisen. Versuchen Sie, Ihren Click-Handler zu ändern: