Ralf: Feststellen, ob Seite in FRAME oder IFRAME geladen

Hallo,

eigentlich eine ganz einfache Frage: Wie kann ich feststellen, ob eine Seite in einem FRAME oder IFRAME geladen wurde? Es geht mir also nicht darum, ob parent == top ist, sondern um den Unterschied zwischen FRAME und IFRAME.

Folgende Lösung (ungetestet) fällt mir dabei spontan ein, aber vielleicht gibt es ja noch etwas einfacheres, was ich übersehen habe.

  
var fr = parent.frames;  
for (var i=0; i<fr.length; i++) {  
  if (fr[i].documentWindow == self) {  
    alert(fr[i].nodeName); // ==> FRAME oder IFRAME  
    break;  
    }  
  }  

Jemand 'ne Idee?

Ralf

  1. Folgende Lösung (ungetestet) fällt mir dabei spontan ein, aber vielleicht gibt es ja noch etwas einfacheres, was ich übersehen habe.

    Das war ziemlicher Murks, wie ich gerade in einem Test herausgefunden habe. Also habe ich aktuell keine Lösung :(

  2. Hello,

    Jemand 'ne Idee?

    mal einfach blind geraten: Was ist denn typeof für die beiden unterschiedlichen Fälle, ist das vielleicht einmal ein ganzes Window und einmal ein Document, einmal ein Frameset und einmal ein Document oder irgendwie sowas?

    MfG
    Rouven

    --
    -------------------
    Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet
    1. mal einfach blind geraten: Was ist denn typeof für die beiden unterschiedlichen Fälle, ist das vielleicht einmal ein ganzes Window und einmal ein Document, einmal ein Frameset und einmal ein Document oder irgendwie sowas?

      typeof wovon? Über den Abgleich von location.href kann ich im parent durchaus den richtigen frame identifizieren, aber das ist dann ein window Objekt für beide Fälle.

      Vielleicht geht es über parent.document.body - bei einem FRAME sollte es den nicht geben, weil es ein FRAMESET ist. Mal schauen.

      1. Vielleicht geht es über parent.document.body - bei einem FRAME sollte es den nicht geben, weil es ein FRAMESET ist. Mal schauen.

        parent.document.body.nodeName macht den Unterschied - für einen FRAME ist es FRAMESET und für einen IFRAME ist es BODY.