Hendrik Otting: Objekte Objekte.reihenfolge["welche"].denn.richtig.ist

Hallo forum ....

um im selben frame ein layer zu zeigen/verstecken hilft :

function show(showobj) {
                if (ns) eval ('document.'+showobj+'.visibility = "show"');
    if (ie) eval ('document.all["'+showobj+'"].style.visibility = "visible"');
        }

function hide(hideobj) {
                if (ns) eval ('document.'+hideobj+'.visibility = "hide"');
    if (ie) eval ('document.all["'+hideobj+'"].style.visibility = "hidden"');
        }

warum funktioniert das :

function show(showobj) {
                if (ns) eval ('parent.frames["haupt"].document.layers.'+showobj+'.visibility = "show"');
    if (ie) eval ('parent.frames["haupt"].document.all["'+showobj+'"].style.visibility = "visible"');
        }

function hide(hideobj) {
                if (ns) eval ('parent.frames["haupt"].document.layers.'+hideobj+'.visibility = "hide"');
    if (ie) eval ('parent.frames["haupt"].document.all["'+hideobj+'"].style.visibility = "hidden"');
        }

nur für NS ?

mfg Hendrik

  1. Hallo Hendrik

    warum funktioniert das : [...]
        if (ie) eval ('parent.frames["haupt"].document.all["'+hideobj+'"].style.visibility = "hidden"');
    nur für NS ?

    Sowohl bei MS IE also auch bei Netscape hab ich schlechte Erfahrungen gemacht, was die Array-Adressierung des Typs irgendwas["Name"] betrifft - beim einen Objekt kann's der eine nicht, beim naechsten der andere nicht. Die Adressierung via Indexnummer oder Name ist da meiner Erfahrung nach sicherer. Also:
    parent.frames[3].document.all... /* 3 als Beispiel */
    oder:
    parent.haupt.document.all...

    viele Gruesse
      Stefan Muenz

    1. Hallo Hendrik

      warum funktioniert das : [...]
          if (ie) eval ('parent.frames["haupt"].document.all["'+hideobj+'"].style.visibility = "hidden"');
      nur für NS ?

      Sowohl bei MS IE also auch bei Netscape hab ich schlechte Erfahrungen gemacht, was die Array-Adressierung des Typs irgendwas["Name"] betrifft - beim einen Objekt kann's der eine nicht, beim naechsten der andere nicht. Die Adressierung via Indexnummer oder Name ist da meiner Erfahrung nach sicherer. Also:
      parent.frames[3].document.all... /* 3 als Beispiel */
      oder:
      parent.haupt.document.all...

      viele Gruesse
        Stefan Muenz

      Hmmmm

      mit parent.frames[1]......
      meint er : parent.frames.1.all.hilfe.style
      ist kein objekt ...

      mit parent.frames["1"]......
      meint er : parent.frames.haupt.all.hilfe.style
      ist kein objekt

      genauso mit parent.frames["haupt"]....

      Stefan, hast du keine Übersicht über die Objekt-hierarchie der Browser-eigenen objekte ?
      Ich werd noch wahnsinnig damm.it !

      mfg
            Hendrik

      1. Hallo Hendrik

        mit parent.frames[1]......
        meint er : parent.frames.1.all.hilfe.style
        ist kein objekt ...

        Stimmt natuerlich. Da fehlt .document vor .all.

        Stefan, hast du keine Übersicht über die Objekt-hierarchie der Browser-eigenen objekte ?
        Ich werd noch wahnsinnig damm.it !

        Die Frage verstehe ich leider nicht. Ich habe <../../tec.htm> anzubieten, das spiegelt die JavaScript-Objekthierarchie so halbwegs wieder. "Browser-eigene-Objekte" sind da mit drin, sofern du all und layers meinst.

        viele Gruesse
          Stefan Muenz

        1. Stefan, hast du keine Übersicht über die Objekt-hierarchie der Browser-eigenen objekte ?
          Ich werd noch wahnsinnig damm.it !

          Die Frage verstehe ich leider nicht. Ich habe <../../tec.htm> anzubieten, das spiegelt die JavaScript-Objekthierarchie so halbwegs wieder. "Browser-eigene-Objekte" sind da mit drin, sofern du all und layers meinst.

          viele Gruesse
            Stefan Muenz

          Tja das kenn ich.
          Mein Problem ist halt immer wieder, die korrekten Namen von Objekten zu finden.
          Wenn ich nun so ne Übersicht hätte, ähnlich wie ein kommplet aufgeplapptes "inspect" mit dem Javascript Debugger, von "window", gerade mit nem Kommentar oder nem siehe selfhtml.....
          Also ein Bäumchen wie :

          window

          • closed
          • crypto                               // Kommentare kann ich leider nit zu geben ...
          • defaultStatus
          • document
            --alinkColor
            --anchors
            ---lenght
            .
            .
            .
        2. Hallo Hendrik

          mit parent.frames[1]......
          meint er : parent.frames.1.all.hilfe.style
          ist kein objekt ...

          Stimmt natuerlich. Da fehlt .document vor .all.

          viele Gruesse
            Stefan Muenz

          Sorry Tippfehler meinerseits, die Fehlermeldung hat das .document vor dem .al
          mein Script-Code leider auch ...

          Beim Netscape heißt das style Attribut visibility im Div name/id ="hilfe" im frame "haupt" aus einem anderen frame :

          eval ('parent.frames["haupt"].document.layers.'+"hilfe"+'.visibility = "show"');

          auf IE sollte es doch :

          eval ('parent.frames["haupt"].document.all["'+"hilfe"+'"].style.visibility = "visible"');

          genauso tun ?

          mfg

          ein sämmtliche Haare verlierender Hendrik

  2. Hallo forum ....

    Das gibts doch nit ....

    Aus lauter Frust heute das script von freitag wieder mal probiert...

    Und ? Es klappt...

    Sch.... Cache !!!

    mfg Hendrik