Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Oktober

SELFHTML Forumsarchiv
window.reload

Informationsseite
  1. Seite (JAVASCRIPT) window.reload von gerld, 30. 10. 2008, 13:03
nach unten

window.reload

Die folgende Nachricht zum Thema stammt von: gerld, 30. 10. 2008, 13:03

Hallo JavaScript Profis,

ich habe folgendes Problem.
Ich habe mir in einem Browser Fenster per cookie das aktuelle Windows Objekt gesichert.
Im Folgefenster möchte ich das erste Fenster aktualisieren.
Dazu lese ich das cookie wieder und versuche mit window.reload(); das erste Fenster zu refreshen.

Aber das funktioniert nicht.

Ist so etwas überhaupt grundsätzlich möglich?

nach obennach unten

window.reload

Die folgende Nachricht zum Thema stammt von: molily, 30. 10. 2008, 13:06

»» Ich habe mir in einem Browser Fenster per cookie das aktuelle Windows Objekt gesichert.

Cookies speichern nur Text, keine Objekte.
Wenn du das window-Objekt in einem Cookie speicherst, so wird es in einen String umgewandelt, mit dem du später überhaupt nichts anfangen kannst.

»» Im Folgefenster möchte ich das erste Fenster aktualisieren.

Wie das denn, es ist doch ohnehin weg? Oder arbeitest du mit Popups oder Frames? Dann kannst du z.B. aus einem Popup mit opener auf das Ursprungsfenster zugreifen.
Siehe auch http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/
Beschreibe einfach mal deine Aufgabenstellung.

Mathias
--
JavaScript-Erweiterung für das SELFHTML-Forum

nach obennach unten

window.reload

Die folgende Nachricht zum Thema stammt von: gerald, 30. 10. 2008, 13:18

»» »» Ich habe mir in einem Browser Fenster per cookie das aktuelle Windows Objekt gesichert.
»»
»» Cookies speichern nur Text, keine Objekte.
»» Wenn du das window-Objekt in einem Cookie speicherst, so wird es in einen String umgewandelt, mit dem du später überhaupt nichts anfangen kannst.
»»
»» »» Im Folgefenster möchte ich das erste Fenster aktualisieren.
»»
»» Wie das denn, es ist doch ohnehin weg? Oder arbeitest du mit Popups oder Frames? Dann kannst du z.B. aus einem Popup mit opener auf das Ursprungsfenster zugreifen.
»» Siehe auch http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/
»» Beschreibe einfach mal deine Aufgabenstellung.
»»
»» Mathias


>>> Ich schieb:
Im Folgefenster möchte ich das erste Fenster aktualisieren.
Dann ist für mich klar, dass beide Browserfenster geöffnet sind.

Wenn ich das Objekt nicht per cookie sichern kann, gibt es dann eine andere Möglichkeit?

nach obennach unten

window.reload

Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 10. 2008, 13:22

Hi,

bitte zitiere vernuenftig.

»» >>> Ich schieb:

Was und wohin?

»» Im Folgefenster möchte ich das erste Fenster aktualisieren.
»» Dann ist für mich klar, dass beide Browserfenster geöffnet sind.

Damit ist immer noch nicht klar, *wie* das "Folgefenster" geoeffnet wird. Mensch, drueck dich doch mal ein bisschen praeziser aus! /hilfe/charta.htm#tipps-fuer-fragende

»» Wenn ich das Objekt nicht per cookie sichern kann, gibt es dann eine andere Möglichkeit?

Wie schon gesagt wurde, wenn das Fenster mittels window.open geoeffnet wurde, bspw. opener.

MfG ChrisB


--
„This is the author's opinion, not necessarily that of Starbucks.“

nach obennach unten

window.reload

Die folgende Nachricht zum Thema stammt von: molily, 30. 10. 2008, 13:56

»» Wenn ich das Objekt nicht per cookie sichern kann, gibt es dann eine andere Möglichkeit?

Weil die Antwort auf diese Frage »Nein« lautet, schrieb ich: Beschreibe mal deine Aufgabenstellung. Entweder die beiden Fenster können über opener bzw. den Rückgabewert von window.open aufeinander zugreifen oder gar nicht.

Mathias
--
JavaScript-Erweiterung für das SELFHTML-Forum

nach obennach unten

window.reload

Die folgende Nachricht zum Thema stammt von: Struppi, 30. 10. 2008, 13:06

»» Ich habe mir in einem Browser Fenster per cookie das aktuelle Windows Objekt gesichert.

Das geht nicht, du kannst in cookies nur Strings abspeichern.

»» Im Folgefenster möchte ich das erste Fenster aktualisieren.

Wie willst du ein Fenster das nicht mehr existiert aktualisieren?
Oder meinst du wirklich Fenster, die mit window.open() geöffnet wurden?
Dann suchst du evtl. opener

Struppi.

nach obennach unten

[window].location.reload

Die folgende Nachricht zum Thema stammt von: peterS., 30. 10. 2008, 13:48



gruss gerald,


»» Dazu lese ich das cookie wieder und versuche mit window.reload();
»» das erste Fenster zu refreshen.

selbst, wenn Du unten stehende ratschlaege beherzigst und zugriff auf
das gewuenschte [window]-objekt haben solltest, wird Dir ein refresh
nicht gelingen:

- erstens ist [reload] eine methode des [location]-objekts; demzufolge
  lautet die anweisung: »[windowObject].location.reload(true);«

- zweitens wird Dir der zugriff auf jegliche eigenschaft Deines
  gewuenschten [window]-objekts verweigert, sobald das referenzierte
  dokument dieses fensters die »same origin policy« verletzt.


»» Ist so etwas überhaupt grundsätzlich möglich?

so aus dem bauch heraus? - ja.



so long - peterS. - pseliger@gmx.net



--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford

ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]

nach obennach unten

[window].location.reload

Die folgende Nachricht zum Thema stammt von: gerald, 30. 10. 2008, 15:25

»»
»»
»» gruss gerald,
»»
»»
»» »» Dazu lese ich das cookie wieder und versuche mit window.reload();
»» »» das erste Fenster zu refreshen.
»»
»» selbst, wenn Du unten stehende ratschlaege beherzigst und zugriff auf
»» das gewuenschte [window]-objekt haben solltest, wird Dir ein refresh
»» nicht gelingen:
»»
»» - erstens ist [reload] eine methode des [location]-objekts; demzufolge
»»   lautet die anweisung: »[windowObject].location.reload(true);«
»»
»» - zweitens wird Dir der zugriff auf jegliche eigenschaft Deines
»»   gewuenschten [window]-objekts verweigert, sobald das referenzierte
»»   dokument dieses fensters die »same origin policy« verletzt.
»»
»»
»» »» Ist so etwas überhaupt grundsätzlich möglich?
»»
»» so aus dem bauch heraus? - ja.
»»
»»
»»
»» so long - peterS. - pseliger@gmx.net
»»
»»
»»
Danke Peter,

hier noch einmal im Telegrammstiel, was ich machen will.

Fenster 1
 Listet Datenbankinhalte

User will Datenbanzeile (row)  ändern
  Fenster 2 wird geöffnet mit win=window.open(adresse,“titel“);

Fenster 2
 Update/Delete/Insert Datenbankinhalte
Nach der Datenbankaktion soll Fenser 1 aktualisert werden.

Wie löst Du so etwas?

nach obennach unten

[window].location.reload

Die folgende Nachricht zum Thema stammt von: ChrisB, 30. 10. 2008, 15:29

Hi,

zitiere bitte vernuenftig!

»» Wie löst Du so etwas?

Ueber window.opener, wurde doch jetzt schon mehrfach gesagt.

MfG ChrisB


--
„This is the author's opinion, not necessarily that of Starbucks.“

nach obennach unten

[window].location.reload

Die folgende Nachricht zum Thema stammt von: peterS., 30. 10. 2008, 23:09



hallo again gerald,


»»
»» Fenster 1
»» Listet Datenbankinhalte
»»
»» User will Datenbanzeile (row)  ändern
»»   Fenster 2 wird geöffnet mit win = window.open(adresse, “titel“);

die [Fenster 2] referenzierende variable [win] innerhalb von [Fenster 1]
braucht es nochnichteinmal.

»» Fenster 2
»» Update/Delete/Insert Datenbankinhalte
»» Nach der Datenbankaktion soll Fenser 1 aktualisert werden.


»» Wie löst Du so etwas?

ohne jetzt AJAX ins spiel zu bringen ungefaehr so:


1) der update Deiner datenbank erfolgt ja hoechstwahrscheinlich durch
   das abschicken eines formulars ... die klassiche rueckmeldung waere
   dann ein weiters dokument, welches nach [Fenster 2] geladen wird.
   das javascript dieses dokuments verbaeckt dem load-event des fensters
   dann die aktualisierung von [Fenster 1]:

  (function () {

    if (window.addEventListener) {

      window.addEventListener("load", (function () {

        if (opener && opener.location && opener.location.reload) {
          opener.location.reload(true);
        }
      }), false);

    } else if (window.attachEvent) {

      window.attachEvent("onload", (function () {

        if (opener && opener.location && opener.location.reload) {
          opener.location.reload(true);
        }
      }));
    }
    delete arguments.callee;

  })();


2) alternativ koennte man auch versuchen, [Fenster 1] durch scripting
   nachtraeglich einen [name] zu verpassen, um dieses fenster dann
   moeglicherweise innerhalb der window/frames-hierarchie ueber das
   html-target-attribut von links oder eben wie in diesem fall von
   formularen adressieren zu koennen:

   ... meinetwegen auch auf *onload* ... »window.name = "dbState"«

   falls das geht - ich hab' das nie getestet - bekommt das formular
   des in [Fenster 2] liegenden dokuments ein target-attribut, dessen
   wert mit dem durch das scripting in [Fenster 1] gesetzten namen
   uebereinstimmt. perfekt waere es natuerlich, wenn die [action] des
   formulars die gleichlautende dokumenten-adresse aus [Fenster 1]
   bekaeme.
   das durch den serverprozess nach [Fenster 1] zurueckgegebene dokument
   entspraeche dann in adresse/referenzierung, form/aufbau/struktur dem
   schon zuvor geladenem dokument.



gute nacht - peterS. - pseliger@gmx.net



--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford

ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Oktober

© 1998-2008 Seite Impressum, Software: Classic Forum