Lösung für das Postback-Problem mit einem neuen Fenster im IE-Webdialogfeld
Autor:Eve Cole
Aktualisierungszeit:2009-06-20 16:54:58
Problembeschreibung:
Ich habe kürzlich an einem Dokumentverteilungsprojekt gearbeitet und für einige Vorgänge IE-Webdialogfelder verwendet. Ich habe jedoch festgestellt, dass es bei der Verwendung von IE-Webdialogfeldern zu IE kommt, unabhängig davon, ob es sich um .nets Postback, die oben genannten Hyperlinks oder JS-Seitensprünge handelt öffnet ein neues Fenster.
Lösung:
Bereiten Sie zwei Seiten auf der Homepage vor, eine ist die Seite mit Iframe (hier nenne ich sie Seite A) und die andere ist die Seite, die vom ursprünglichen IE-Webdialogfeld aufgerufen werden soll (hier nenne ich sie Seite B).
Der Iframe-Inhalt von Seite A verweist auf Seite B, und dann wird Seite A geladen, wenn das IE-Webdialogfeld geöffnet wird. Unabhängig davon, ob es sich bei Seite B um ein Postback oder einen Seitensprung handelt, wird kein neues Fenster geöffnet geöffnet.
Tatsächlich besteht das Prinzip darin, der ursprünglichen Methode eine „mittlere Ebene“ hinzuzufügen. Beim Öffnen des IE-Webdialogfelds lautet die Seitenaufrufsequenz:
Das Dialogfeld „IE-Webseite“ -> „B-Seite laden“ sieht jetzt wie folgt aus:
IE-Webseiten-Dialogfeld -> Seite A laden -> dann Seite B aus dem Iframe von Seite A laden