Stefan Bion: JS: Probleme mit top.frames.length bei MSIE

Hallo,

die bekannte Methode, sich mit

<script language="JavaScript">
  <!--
    if(top.frames.length>0) top.location.href=location;
  // -->
  </script>

aus fremden Framesets zu befreien, funktioniert bei Netscape wunderbar, aber nicht beim MSIE 3.02 (4er-Version nicht getestet!). Es kommt immer die JS-Fehlermeldung:

Microsoft JScript runtime error

Im Frame: main

[Zeile: 7] Objekt unterstützt diese Eigenschaft oder Methode nicht

Zeile 7 der im Frame "main" geöffneten Datei test.htm ist exakt die Zeile

if(top.frames.length>0) top.location.href=location;

Wenn man diese Seite allerdings direkt lädt (nicht innerhalb des Framesets), kommt keine Fehlermeldung. Wer weiß Rat?

URL des Ganzen s.o.

Gruß,
Stefan

  1. Hi Stefan,

    eigentlich dürfte es keine Porbleme geben - sprich alles ist richtig, aber ich habe schon an verschiedenen Stellen gelesen, daß der IE 3.02 bei Jvascript ziemlich buggy ist -
    Versuch doch mal die zwei Möglichkeiten:

    if(top.frames.length>0) top.location.href=self.location;
    oder
      if(top.frames.length>0) top.location.href="xyz.html";  <<hier die url der seite eintragen.

    sonst habe ich aber auch keine Idee

    Gruß

    Leonhard

    1. Hallo Leonhard,

      danke für Deine Tips. Ich glaube, ich habe das Problem beim MSIE gelöst: Mit

      top.location.href=location.href

      statt

      top.location.href=location

      funktioniert es jetzt. Der Netscape war allerdings nicht so pingelig. Allerdings macht der ganz andere Probleme (Abstürze bei onLoad innerhalb eines Framesets - aber das ist ein anderer Thread...).

      Gruß,
      Stefan