MaxL: Popup ansprechen

Hallo,

bitte sagt mir jemand warum es nicht geht??? Ich meine warum gibt er mir das undefinid beim änder n der backgrounColor im popup
ja,ja ich habe schön im forums gesucht:((

function oefnen(ort,name,param){

var okno=window.open(ort,name,param).focus();
   setTimeout("okno.body.style.backgroundColor = '#D1CBB4'",3000);

}

Danke
Grüß

  1. hi,

    var okno=window.open(ort,name,param).focus();
       setTimeout("okno.body.style.backgroundColor = '#D1CBB4'",3000);

    liegt direkt unterhalb des window-objektes denn ein objekt namens body?

    ich denke nicht.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
  2. Hallo,

    bitte sagt mir jemand warum es nicht geht??? Ich meine warum gibt er mir das undefinid beim änder n der backgrounColor im popup
    ja,ja ich habe schön im forums gesucht:((

    function oefnen(ort,name,param){

    var okno=window.open(ort,name,param).focus();

    Die Variable okno hat nun den Rückgabewert der Methode focus() zum Inhalt. Das ist in jedem Fall _kein_ window-Objekt.

    setTimeout("okno.body.style.backgroundColor = '#D1CBB4'",3000);

    ^Wenn Du den ersten Fehler beseitigt hast, wäre okno ein window-Objekt. Dieses hat aber keine Eigenschaft "body".

    }

    Zum ersten Fehler:
    Nutze für das Erzeugen des Fensters und das Setzen des Focus zwei Anweisungen.

    Zum zweiten Fehler:
    Greife vom window-Objekt http://de.selfhtml.org/javascript/objekte/window.htm okno aus dauf dessen document-Unter-Objekt http://de.selfhtml.org/javascript/objekte/document.htm zu und nutze dessen Methode getElementsByTagName("body")[0] http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name um auf dessen erstes und einziges BODY-Element zuzugreifen.

    viele Grüße

    Axel

    1. Hallo,

      noch was:
      So, wie Du es bisher machst, ist okno nur solange bekannt, wie die Funktion oefnen() läuft. Nach dem Timeout ist es nicht mehr definiert. Deklariere var okno; _vor_ der Funktion, also global.

      viele Grüße

      Axel