reload oder refresh
Sandra
- javascript
Hallo,
kann ich bei opener.reload() oder opener.refresh()
eine variable mitgeben?
ich öffne aus einer in der höhe langen liste ein
neues fenster zum anzeigen. wenn ich dieses neue
fenster schliesse <a href="javascript:opener.reload();self.close();">
möchte ich dass ich in der vertikalen zur gleichen stelle
komme, wovon ich das neue fenster geöffnet habe.
die hohe seite wird aus der datenbank mit php geholt.
ich zähle die php variable pixel hoch, diese übergebe
ich an das neue fenster.
nun möchte ich die variable pixel auch beim schliessen
zurückgeben an den opener.
Hoffe, das war jetzt nich zu kompliziert ;-)
Sandra
Hallo,
ich öffne aus einer in der höhe langen liste ein
neues fenster zum anzeigen. wenn ich dieses neue
fenster schliesse <a href="javascript:opener.reload();self.close();">
möchte ich dass ich in der vertikalen zur gleichen stelle
komme, wovon ich das neue fenster geöffnet habe.
Ich weiß nicht, was du da vor hast, aber es klingt ziemlich umständlich. Wieso hast du denn ein so großes Dokument und willst es komplett neu laden, um dann doch an dieselbe Stelle zu kommen?
ich zähle die php variable pixel hoch, diese übergebe
ich an das neue fenster.
nun möchte ich die variable pixel auch beim schliessen
zurückgeben an den opener.
Die Sätze verstehe ich nicht.
Du kannst das opener-Dokument neu laden, indem du sie mit einem Parameter (Query String, ?parameter=wert) aufrufst und einem Ankernamen, sodass sofort wieder an die Stelle gesprungen wird:
opener.location.href = "/dieselbe_URI/?variable=" + variable + "#" + ankername;
Mit http://sniplets.anaboe.net/javascript03.html kannst du dann auf den Parameter zugreifen.
Mathias
hi,
Du kannst das opener-Dokument neu laden, indem du sie mit einem Parameter (Query String, ?parameter=wert) aufrufst und einem Ankernamen, sodass sofort wieder an die Stelle gesprungen wird
Problem: Was ist "die Stelle"?
So wie ich das verstanden habe, scrollt der Benutzer "manuell" beliebig weit runter - ein Anker ist (noch) nicht im Spiel.
Die aktuellen Scrollposition auszulesen, im URL zu übergeben, und anschließend wieder anzuscrollen, wäre eine weitere Möglichkeit. Würde aber voraussetzen, dass sich oberhalb dieser am Inhalt nichts ändert bzw. bei Änderung dessen Platzbedarf gleichbleibt, sonst landet man ja wieder an einer anderen Stelle.
Wenn der Inhalt sich doch ändert, dann bleiben wohl wirklich nur noch Anker. Dann müsste man "die Stelle" ermitteln, sprich welcher Anker ist derzeit der Oberkante des Viewports am nächsten. Also wieder aktuelle Scrollposition auslesen, und Position der als Anker brauchbaren Elemente (offsetTop/-Parent(s)) vergleichen ... oder so ähnlich.
gruß,
wahsaga
Hallo,
Wenn der Inhalt sich doch ändert, dann bleiben wohl wirklich nur noch Anker. Dann müsste man "die Stelle" ermitteln, sprich welcher Anker ist derzeit der Oberkante des Viewports am nächsten.
Ja, ich dachte mir das so:
Durch irgendeinen bestimmten Link/Button o.ä. wird das Fenster geöffnet. Der wird wahrscheinlich etwas bestimmtes im Fenster öffnen (sonst gäbe es unzählige Links mit gleicher Funktion), also ist er auch eindeutig zu identifizieren (wenn auch nur durch eine Nummer oder so). Beispielsweise:
<a href="neues_fenster.php?zeige=123" onclick="window.open(this.href, ...); return false" name="link123">...</a>
In dem Fall wäre es einfach, aus dem Dokument im Fenster wieder auf eben diese Stelle zu linken (dort muss im geänderten Dokument nicht unbedingt wieder dieser Link sein, Hauptsache ein Anker).
Mathias