TOM: global auf ein popup innerhalb des root-windows zugreifen.

HI!

ich bräucht eure Hilfe!

folgendes:

Ich hab eine PHP-Seite. da kann man sich eine Informations-zusatzseite anzeigen lassen. diese erzeuge ich mit

function FigureOpen(x,w,h){
Figure = window.open(x,"Figure","width=" + w + ",height=" + h + >",dependent=yes");
Figure.focus();
}

x= die url des neuen windows
w= width
h = height

soweit so gut.

jetzt möchte ich aber auf dieses Fenster innerhalb meines programms zugreifen und diesem eine NEUE url übergeben.

dazu hab ich Figure "ganz oben" global definiert:

var Figure;

und will dann mit folgendem Befehl  darauf zugreifen:

function blablabla() {
    Figure.location.href = './figure_info.php4?menuid=942';
}

wenn diese funktion aufgerufen wird reagiert der IE mit folgender Fehlermeldung:

"Fehler: Figure.location ist Null oder kein Objekt"

Was mach ich falsch???

plz help!

thx

TOM

  1. function blablabla() {
        Figure.location.href = './figure_info.php4?menuid=942';
    }

    wenn diese funktion aufgerufen wird reagiert der IE mit folgender Fehlermeldung:

    Weiß grad nicht, wieso das nicht geht, aber Du kannst Doch einfach die Popup-Funktion noch mal aufrufen. Da der 2. Parameter von window.open() bei Dir konstant ist, macht er dann kein neues Fenster auf, sondern ersetzt die URL des alten.

    1. Hallo Mulder,

      aber ein Fenster wird doch nicht über den 2. Paramter angesprochen sondern mit der variable der das window.open zugewiesen wird...
      Jedenfalls dachte ich das immer...
      bitte um aufklärung...

      eventuell ist das fenster Figure geschlossen worden oper in deiner funktion noch gar nicht aufgerufen worden...

      aber eigentlich heißt es so richtig...

      Odium

      1. Hallo Mulder,

        aber ein Fenster wird doch nicht über den 2. Paramter angesprochen sondern mit der variable der das window.open zugewiesen wird...
        Jedenfalls dachte ich das immer...
        bitte um aufklärung...

        eventuell ist das fenster Figure geschlossen worden oper in deiner funktion noch gar nicht aufgerufen worden...

        aber eigentlich heißt es so richtig...

        Odium

        mhh.. ich werd mir jetzt da keine großen gedanken drüber machen weils so geht ;))

      2. NEUES PROBLEM *heul* :

        ich muss ja auch abfragen können ob das fenster geöffnet ist oder nicht!

        also if(Figure != null)

        aber.. wenn Figure nicht global ist - wie soll ichs dann machen bzw wie kann ich des abgefachte Fenster abfragen ob es offen ist oder net??

      3. aber ein Fenster wird doch nicht über den 2. Paramter angesprochen sondern mit der variable der das window.open zugewiesen wird...
        Jedenfalls dachte ich das immer...
        bitte um aufklärung...

        Jein. In Javascript sprichst Du es schon mit dem JS-Identifier an (z.B. bei windowname.focus()). Wenn Du aber

        foo = window.open(url1,'eins','...');
        bar = window.open(url2,'eins','...');

        machst, wird die url2 im selben Fenster geöffnet wie die url1. So gesehen ist dann bar = foo.

    2. function blablabla() {
          Figure.location.href = './figure_info.php4?menuid=942';
      }

      wenn diese funktion aufgerufen wird reagiert der IE mit folgender Fehlermeldung:

      Weiß grad nicht, wieso das nicht geht, aber Du kannst Doch einfach die Popup-Funktion noch mal aufrufen. Da der 2. Parameter von window.open() bei Dir konstant ist, macht er dann kein neues Fenster auf, sondern ersetzt die URL des alten.

      thx des könnt klappen - ich probiers - danke schon mal!