2010-12-20 8 views

Antwort

7

Rufen Sie die reload method statt

location.reload(true) 
+0

+1 - aktualisierte Version ist viel besser für IE :) –

+0

Danke David für die Antwort, es funktioniert, aber es Pop-ups zur Bestätigung ??? und ich möchte das nicht :( – BreakHead

2

die Seite neu zu laden, ist die gute Lösung window.location.reload();

Sie sagen, dies erscheint zur Bestätigung zu benutzen? Dies liegt wahrscheinlich daran, dass die Seite, auf der Sie sich befinden, mit gesendeten POST-Daten aufgerufen wurde.

Wenn Sie möchten, dass die POST-Daten erneut gesendet werden, haben Sie keine einfache Lösung, um diese Bestätigung zu vermeiden (vielleicht verwenden Sie Ajax, Sie könnten es tun ... Sie werden viel Zeit damit verbringen) .

Wenn Sie die Daten nicht erneut POST wollen, dann wollen Sie die Seite nicht neu laden! Sie möchten nur die gleiche URL laden.

Das Problem ist, wenn Sie zu Ihrem Browser sagen, laden Sie diese URL, es wird nichts tun, weil die URL, von der Sie sprechen, bereits geladen ist (für die meisten Browser, keine URL-Änderung -> keine Seite neu laden) !!

Eine einfache Möglichkeit, dieses Problem zu umgehen, besteht darin, dieselbe URL und einen zufälligen Abfragezeichenfolgenwert aufzurufen. Auf diese Weise ist die URL, die Sie anrufen, eine neue URL.

dies eine wirklich einfache Art und Weise zu tun:

window.location.search += '&' + Math.random(); 

Ein Problem bei dieser Lösung ist, dass Ihre URL chaotisch werden kann ....

auf Ihre Bedürfnisse und Ihre URLs je, können Sie wahrscheinlich finde einen Weg, um sehr wenig Änderungen vorzunehmen, gerade genug, damit der Browser die Seite neu lädt.

+0

Ich habe Ihre Antwort bearbeitet, um Formatierung für Ihre Code-Snippets hinzuzufügen. –

1

Eine weitere einfache Lösung ist leer Formular .. getestet es jetzt IE, FF und Chrome:

function Reload() { 
    var oForm = document.createElement("form"); 
    document.body.appendChild(oForm); 
    oForm.submit(); 
} 

diese Weise können Sie auch die gesendeten Daten vom Server lesen können und erneut einreichen, ohne dass die mit "Bestätigung", die Sie erwähnt haben, wenn es relevant ist, lassen Sie uns wissen, welche serverseitige Sprache Sie verwenden.

Verwandte Themen