Verwenden von Response.Redirect zum Öffnen eines neuen Browserfensters
Webentwickler müssen Benutzer häufig auf eine neue Seite umleiten, ohne ihre aktuelle Browsersitzung zu unterbrechen. Obwohl Response.Redirect
häufig verwendet wird, kann das Öffnen der neuen Seite in einem separaten Fenster schwierig sein. Dieser Leitfaden beschreibt die Lösung.
Der Schlüssel ist eine Kombination aus clientseitigen und serverseitigen Techniken:
Clientseitige Zieländerung: Fügen Sie das Attribut OnClientClick="aspnetForm.target='_blank';"
zu Ihrem serverseitigen Link oder Ihrer serverseitigen Schaltfläche hinzu. Dadurch wird der Browser gezwungen, den Link in einem neuen Tab oder Fenster zu öffnen.
Verhindern des globalen Verhaltens bei neuen Fenstern: Um zu verhindern, dass alle Links in neuen Fenstern geöffnet werden, fügen Sie diese JavaScript-Funktion zur Kopfzeile Ihres Popup-Fensters hinzu:
<code class="language-javascript">function fixform() { if (opener.document.getElementById("aspnetForm").target != "_blank") return; opener.document.getElementById("aspnetForm").target = ""; opener.document.getElementById("aspnetForm").action = opener.location.href; }</code>
onload="fixform()"
in das <body>
-Tag Ihres Popup-Fensters ein. Dadurch wird sichergestellt, dass die Funktion fixform()
beim Laden der Seite ausgeführt wird und das Zielattribut des Formulars korrigiert.Durch die Implementierung dieser drei Schritte wird ein serverseitiger Aufruf von Response.Redirect("MyPage.aspx")
innerhalb eines OnClick
-Ereignisses „MyPage.aspx“ erfolgreich in einem neuen Browserfenster öffnen, wobei die ursprüngliche Seite intakt bleibt.
Das obige ist der detaillierte Inhalt vonWie leitet man mit Response.Redirect zu einem neuen Browserfenster weiter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!