pit: Aktualisierung mehrerer Layer[xx].src

Hallo Forumler,

ich habe wieder mal ein Problem. Das diese blöden Inputboxen auch innerhalb untergeordneter Layers zu sehen sind, habe ich ja verkraftet, aber nun folgendes:

Ihc habe mehrere Layer mit Layern drin. Auf Mouseclick sollen nun die src der document.layers.document.layers aktualisiert werden. Geht als Frame ja einwandfrei. Aber als Layer wird nur der erste aktualisiert. alle weiteren scriptanweisungen eine layer.src betreffend werden ignoriert. Gibts das wieder nicht, oder habe ich es nicht richtig angegeben? Hier also der Code:

function newDevice(Devicename){
document.layers['Sequenzen'].document.layers['sourceSequenzen'].src=CGIverz+"refresh_sequencies.pl?"+Devicename;
document.layers['Mails'].document.layers['sourceMails'].src=CGIverz+"refresh_mails.pl?"+Devicename;
}

Wie geagt, auch wenn ich die Zeilen austausche, wird immer nur die erste realisiert.

Chiau Pit

  1. Hallo Forumler,

    ich habe wieder mal ein Problem. Das diese blöden Inputboxen auch innerhalb untergeordneter Layers zu sehen sind, habe ich ja verkraftet, aber nun folgendes:

    Ich habe mehrere Layer mit Layern drin. Auf Mouseclick sollen nun die src der document.layers.document.layers aktualisiert werden. Geht als Frame ja einwandfrei. Aber als Layer wird nur der erste aktualisiert. alle weiteren scriptanweisungen eine layer.src betreffend werden ignoriert. Gibts das wieder nicht, oder habe ich es nicht richtig angegeben?
    Wie geagt, auch wenn ich die Zeilen austausche, wird immer nur die erste realisiert.

    Ätsch ich habs auch alleine gefunden!! ;-)

    function newDevice(Devicename){
    //~Sequenzen aktualisieren und anzeigen~~~~~~~~
    document.layers['Sequenzen'].document.layers['sourceSequenzen'].src=CGIverz+"refresh_sequencies.pl?"+Devicename;
    window.setTimeout("aktMails('"+Devicename+"')",500);

    }
    function aktMails(Devicename){
    //~Mails aktualisieren und anzeigen~~~~~~~~~~~~
    document.layers['Mails'].document.layers['sourceMails'].src=CGIverz+"refresh_mails.pl?"+Devicename;
    }

    Wichtig ist der Timeout, sonst kommt Netscape durcheinander und baut die Inhalte in die falschen Layer!
    Oder gehts doch noch leichter??!??

    Chiau Pit

    1. Moin!

      Wichtig ist der Timeout, sonst kommt Netscape durcheinander und baut die Inhalte in die falschen Layer!
      Oder gehts doch noch leichter??!??

      Chiau Pit

      Hast Du es auch schon mal mit

      document.layers['Sequenzen'].document.layers['sourceSequenzen'].load(urlstring, breiteInPixeln);

      probiert?
      (siehe dazu auch <../../tecbbf.htm#a22>).
      Falls das auch nicht 2x hintereinander klappt, bist Du vermutlich auf ein ähnliches Problem gestoßen, das mich auch schon seit längerem wurmt. Deine Idee mit dem SetTimeout(...) werde ich wohl demnächst auch mal probieren ;-)

      Bis dannundwann

      Andreas

      1. Hast Du es auch schon mal mit

        document.layers['Sequenzen'].document.layers['sourceSequenzen'].load(urlstring, breiteInPixeln);

        probiert?
        (siehe dazu auch <../../tecbbf.htm#a22>).
        Falls das auch nicht 2x hintereinander klappt, bist Du vermutlich auf ein ähnliches Problem gestoßen, das mich auch schon seit längerem wurmt. Deine Idee mit dem SetTimeout(...) werde ich wohl demnächst auch mal probieren ;-)

        Geht auch nicht!! (zumindest in NN 4.05 nicht)

        Pit

      2. Wichtig ist der Timeout, sonst kommt Netscape durcheinander und baut die Inhalte in die falschen Layer!

        Ich habe ein bischen experimentiert, und hier die für mich wahrscheinlichste Erklärung dazu:
        Der Browser kann immer nur ein Layer gleichzeitig aktualisieren. Der Timeout muß also solange sein, wie zum laden der vorangehenden Seite in den Layer benötigt wird.

        Deshalb eine neue Frage:   Wie kann ich das erfolgreiche Laden einer Datei in einen Layer überwachen??

        Chiau
        Pit