T-Rex: Fenster über Namen ansprechen

Moin,

hab da ein Javascript welches ein Fenster öffnet: window.open( url, "Fenster");.
Jetzt möchte ich dieses Fenster nach einem Reload des Ursprungsfensters mit dem Namen ansprechen: vielleicht so openwindow.Fenster?
Bzw. möchte ich eine Prüfung machen, ob es das Fenster mit Namen "Fenster" überhaupt gibt.

Gruß
Window != Fenster
T-Rex

  1. Hallo,

    http://de.selfhtml.org/javascript/objekte/window.htm#open@title=schaust du:

    MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");
      MeinFenster.focus();

    Viele Grüße
    Siri

    1. Moin Siri,

      MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");

      Jetzt passiert ein Reload der Seite (nicht des Fensters).

      MeinFenster.focus();

      MeinFenster ist nicht mehr gesetzt. Deswegen ja das Fenster über den Namen wiederfinden!

      Gruß
      Wiederverwendbarer
      T-Rex

      1. MeinFenster.focus();
        MeinFenster ist nicht mehr gesetzt. Deswegen ja das Fenster über den Namen wiederfinden!

        Dann speicher doch den Fensternamen in einem Cookie.

        1. MeinFenster.focus();
          MeinFenster ist nicht mehr gesetzt. Deswegen ja das Fenster über den Namen wiederfinden!

          Dann speicher doch den Fensternamen in einem Cookie.

          Ergo gibt es kein Array in Javascript, was das automatisch mit speichert?

          Gruß
          Weihnachts
          T-Rex

          1. Hallo,

            MeinFenster.focus();
            MeinFenster ist nicht mehr gesetzt. Deswegen ja das Fenster über den Namen wiederfinden!
            Dann speicher doch den Fensternamen in einem Cookie.
            Ergo gibt es kein Array in Javascript, was das automatisch mit speichert?

            nein, wie sollte es? Beim Reload werden auch in die Seite eingebettete Scripts neu geladen und initialisiert. Aber was gefällt dir an der Lösung nicht, die ChrisB verlinkt hat?

            So long,
             Martin

            --
            Man gewöhnt sich an allem, sogar am Dativ.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. nein, wie sollte es? Beim Reload werden auch in die Seite eingebettete Scripts neu geladen und initialisiert.

              Joa genau. Deshalb hab ich gehofft das die Browser intern eine Array mit pflegen und es bei einem Seiten neuladen irgendwie an das JS weiter geben. So dass man bequem per window.openwindow zugreifen kann. window.location.href ist ja auch gesetzt.

              Die Lösung von ChrisB ist vorerst brauchbar. Ich hab folgendes kleines Script geschrieben:

                
              <html>  
              	<head>  
              		<script type='text/javascript' src='jquery/jquery.js'></script>  
              		<script type='text/javascript'>  
              			$().ready( function() {  
              				var objFenster = null;  
              				$("#open").click( function() {  
              					objFenster = window.open( "http://www.google.de", "google" );  
              				});  
              				$("#get").click( function() {  
              					objFenster = window.open( "", "google" );  
              					if( !objFenster.location.href || objFenster.location.href == "about:blank" )  
              					{  
              						objFenster = window.open( "http://www.google.de", "google" );  
              					}  
              				});  
              				$("#close").click( function() {  
              					if( objFenster )  
              					{  
              						objFenster.close();  
              					}  
              				});  
              			});  
              		</script>  
              	</head>  
              	<body>  
              		<input type='button' id='open' value='open' />  
              		<input type='button' id='get' value='get Window' />  
              		<input type='button' id='close' value='close' />  
              	</body>  
              </html>  
              
              

              Folgendes Problem. Man klickt auf "get Window". Wenn Fenster noch nicht offen ist, wird ein leeres Fenster geöffnet. Also dachte ich mir, okay, dann prüf ich eben ob location.href "richtig" gesetzt ist. Wenn nicht, öffne ich das gleiche Fenster einfach nochmal mit richtiger Url. Solang das Fenster ein about:blank hat funktioniert es wunderbar. Wenn jedoch bereits die eventuell fremde Url geladen ist, habe ich auf location.href keinen Zugriff mehr wegen der SOP. Ein Fehler wird mir entgegen geschleudert.

              Aktuell brauche ich die Lösung jedoch nur für neue Fenster mit der eigenen Domain. Also das SOP Problem hätte ich erstmal nicht. Wenn man jedoch bereits an dem Problem dran ist, wäre eine umfassende Lösung natürlich klasse.

              Ideen?

              Gruß
              Script Bastler
              T-Rex

  2. Hi,

    Jetzt möchte ich dieses Fenster nach einem Reload des Ursprungsfensters mit dem Namen ansprechen

    http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/ – Beispiel 3, Abschnitt „Beachten Sie“.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?