Frage

Dies ist eine Art von einem seltsamen Problem, aber ich habe ein Suchfeld für unsere Website erstellen, die auf einer anderen Website Iframes werden. Wenn der Benutzer die Suchtaste klickt, muss er den übergeordneten Rahmen auf unserer Suchergebnisseite umgeleitet werden.

Im Moment, was ich getan habe, ist die Suchtaste ein Postback-Trigger, um dann einen Client-Skriptblock Registrierung dies auszuführen:

if (window.parent) window.parent.location.href='<url>';

Dies ist ok , aber es scheint wie ein Hack & es bedeutet, wenn der Benutzer auf dem Browser klickt zurück nach der Suche, es leitet sich zurück auf die Suchergebnisseite.

Gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung

OK, da sonst niemand beantwortet hat, werde ich dies gehen geben.

Zunächst einmal, testen Sie den Code, den Sie in einer realen Art und Weise verwendet werden? Ich bin besorgt darüber, dass in einer realen Anwendung, die Ihre IFramed Seite und die übergeordnete Seite wird nicht auf der gleichen Domäne befinden. Wenn ja, es ist nicht wahrscheinlich, eine Möglichkeit, für Ihren Code, um die übergeordneten Fenster auf jede URL zu leiten.

Wenn Sie die Position des übergeordneten Rahmens steuern dürfen, Ihr Code sieht für mich in Ordnung. Wenn Sie nicht die neue URL in der Geschichte wollen, glaube ich, dass Sie verwenden können:

if (window.parent) { window.parent.location.replace("<url>"); }

Siehe zum Beispiel: "Der Unterschied zwischen Javascript Redirect Methods"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top