2010-09-13 7 views
6

In meiner Website habe ich zwei Seiten namens First.aspx und second.aspx.Verwendet JavaScript: history.back(); Hast du unbekannte Probleme?

Von first.aspx Ich bin Benutzer auf section.aspx umleiten, klicken Sie auf einen Link.

In second.aspx Seite verwende ich javascript: history.back() beim Klicken auf eine Schaltfläche zum Abbrechen der Eingabe (nicht Asp-Schaltfläche). Dies geschieht, um das erneute Laden der letzten Seite zu vermeiden, da der Benutzer auf dieser Seite noch nichts getan hat, und klickte auf Abbrechen, um zur vorherigen Seite zurückzukehren.

Ich frage mich, ob es irgendwelche Sicherheitsprobleme oder andere Probleme im Zusammenhang mit der Verwendung dieser history.back()? Wenn ja, welche Art von Problemen sind sie?

Statt sollte ich ASP-Taste verwenden und Redirect zurück zur ersten Seite mit response.redirect()? Welcher ist besser Ansatz?

Antwort

5

Ich schlage vor, die history.back() zu vermeiden, mit Ausnahme von einigen seltenen Verwendung von Seite, die Sie sonst nicht tun können.

Warum zu vermeiden. Der erste Grund ist, dass ein Benutzer eine neue Seite öffnet oder diese Seite speichert (und später öffnet) und keine vorherige Seite mehr hat. Auf diese Weise kann er nicht auf "Seite abbrechen" gehen.

Auch gibt es den Fall, dass jemand anderes von der anderen Seite ihn auf Ihre Seite umleiten (vielleicht ist dies ein Sicherheitsproblem?) Dieser Fall auch den Abbruch zurück zur vorherigen Seite ... Einige Zeit Suchseiten öffnen Sie Seite in einem Rahmen, um nur ein Foto von Ihrer Seite zu zeigen, auch dies ist ein Fall, dass die .back vielleicht nicht richtig funktioniert.

Zweiter Grund, die Rückkehr funktioniert nicht richtig, wenn Sie Ajax Anrufe/Updates haben und mit anderen Weg behandelt werden müssen.

Der dritte Grund ist, dass der Cache der Seite nicht von der Rückkehr oder von der Weiterleitung abhängen. In beiden Fällen kann die Seite neu geladen werden oder nicht, dies hängt davon ab, was Sie in der Kopfzeile der Seite festgelegt haben und wie sie vom Browser gehandhabt wird.

Und auch dort ist der Fall, dass der Benutzer kein Javascript (oder haben Sie es deaktivieren), oder das Javascript-Produkt ein Fehler und funktioniert nicht aus irgendeinem Grund.

Und noch eins auch sehr wichtig. Wenn du auf der vorherigen Seite einen Post zurückbekommen hast, dann wird der Post wieder zurück erzeugt! Sie müssen ihn auf die vorherige Seite umleiten.

Hoffe diese Hilfe.

Verwandte Themen