GerdG: Probleme mit Framekiller

Hallo zusammen,

ich habe z.Z folgendes Problem: Ich habe heute ein Forum in meine Seiten eingebunden. Dort wird u.a auch ein link zurück auf meine HP gesetzt. Das Forum selbst starte ich in einem Frame. Wenn man nun im Forum auf den Link zu meiner HP klickt wird diese natürlich mit dem gesamten Framset im schon bestehenden Frame aufgebaut. So weit so schlech :-(
Diesem Problem wollte ich nun mit dem Standart Framkiller v. Stefan zu Leibe rücken und habe es brav in meine index.htm eingebaut und zwar so:
'index.htm' in vereinfachter Fassung ohne METAS u.ä.

<HTML>
<HEAD>
      <TITLE>Willkommen bei Gerd</TITLE>

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

//-->
</SCRIPT>
</HEAD>

<FRAMESET ROWS="17%,*" BORDERCOLOR="#99CCCC" FRAMEBORDER="0" BORDER="0">
    <FRAME NAME="Top" SRC="top.htm" SCROLLING="NO" NORESIZE>
    <FRAMESET COLS="20%,*" BORDERCOLOR="#99CCCC" FRAMEBORDER="0" BORDER="0">
        <FRAME NAME="Links" SRC="links.htm" SCROLLING="AUTO" NORESIZE>
        <FRAME NAME="Main" SRC="main_start.htm" SCROLLING="AUTO" NORESIZE>
    </FRAMESET>
</FRAMESET>
<BODY BGCOLOR="#99CCCC" TEXT="#006666" LINK="#666633" VLINK="#999966">

Ihr Browser unterstützt keine 'Frames'.<BR>
Bitte rufen Sie die <a href="main_start.htm">Titelseite</a> auf!

</BODY>
</HTML>

nun passiert, wenn man vom Forum zurück kommt folgendes: im IE4 klappt alles wie gewünscht :-) der NN4.5 schmiert aber gnadenlos ab :-((

Nun Meine Frage: Was mache ich falsch? Mir geht es in der Hauptsache darum zu verstehen was schief läuft, ob das 'Killerscript' etwa in Dateien mit Framset-defs nicht funtioniert, oder ob ich sonst was wesentliches übersehe. Die Alternative auf die Seite 'main_start.htm' zu linken wie ich es für 'NonFrames'-Browser vorgesehen habe ist mir bewußt, aber ich würde wie schon gesagt das Problem gerne verstehen.

schon mal vielen Dank für eure Mühe

GerdG

  1. Nun Meine Frage: Was mache ich falsch? Mir geht es in der Hauptsache darum zu verstehen was schief läuft, ob das 'Killerscript' etwa in Dateien mit Framset-defs nicht funtioniert, oder ob ich sonst was wesentliches übersehe. Die Alternative auf die Seite 'main_start.htm' zu linken wie ich es für 'NonFrames'-Browser vorgesehen habe ist mir bewußt, aber ich würde wie schon gesagt das Problem gerne verstehen.

    Hm.. also mein Netscape 4.6 schmiert zumindest nicht
    bei ab , und ich konnte auf die schnelle auch nix
    verdächtiges feststellen.
    Nach meinen Erfahrung sind zu 99,9% bei NC abstürzen
    vergessene Semikolons in Verbndung bei CSS und
    JavaScript schuld , aber wie gesagt konnte so auf
    die schnelle nix entdecken.
    Versuch zur Fehlersuche erstmal ob der die Frameseite
    schuld ist, oder andere Seiten , indem du einfach mal
    in der Frame-Seite nicht vorhandene oder leere
    Dokumente lädst.

    gruss
    Jens

  2. Hallo zusammen,

    ich habe z.Z folgendes Problem: Ich habe heute ein Forum in meine Seiten eingebunden. Dort wird u.a auch ein link zurück auf meine HP gesetzt. Das Forum selbst starte ich in einem Frame. Wenn man nun im Forum auf den Link zu meiner HP klickt wird diese natürlich mit dem gesamten Framset im schon bestehenden Frame aufgebaut. So weit so schlech :-(
    Diesem Problem wollte ich nun mit dem Standart Framkiller v. Stefan zu Leibe rücken und habe es brav in meine index.htm eingebaut und zwar so:
    'index.htm' in vereinfachter Fassung ohne METAS u.ä.

    <HTML>
    <HEAD>
          <TITLE>Willkommen bei Gerd</TITLE>

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

    //-->
    </SCRIPT>

    Hallo!

    Ich habe auch einen JS von Stefan allerdings geht es mit dem auch im NN ohne Probleme.
    Ich hoffe dass ist das was du meinst.

    <script language="JavaScript">

    <!--
         if (parent.frames.length>=1) {
         window.top.location.href="URL-Der-Homepage";
         }
         //-->

    </script>

    Mfg Alex

    1. Hey Alex,

      Ich habe auch einen JS von Stefan allerdings geht es mit dem auch im NN ohne Probleme.
      Ich hoffe dass ist das was du meinst.

      so wie von Dir vorgeschlagen funktioniert es wohl. Jetzt muß ich nur noch ein wenig darüber grübeln was an der Original StefanM Variante (aus selfHTML) hier in diesem Fall 'falsch' war.
      Da werde ich irgendwann vielleicht auch mal dahinterkommen.

      Danke für Deine Hilfe, Hast mir eine schlaflose Nacht erspart :-)

      GerdG
      P.S Danke auch Jens und alle anderen, die sich vielleiht schon den Kopf zerbrochen haben, oder gerade zerbrechen

      1. Hi Gerd,

        so wie von Dir vorgeschlagen funktioniert es wohl. Jetzt muß ich nur noch ein wenig darüber grübeln was an der Original StefanM Variante (aus selfHTML) hier in diesem Fall 'falsch' war.
        Da werde ich irgendwann vielleicht auch mal dahinterkommen.

        Laß' es, es bringt nichts, darüber zu grübeln. Manches muß man beim Netscape halt einfach so hinnehmen... Ein ähnliches Problem hatte ich auch mal - mit einer nur etwas geänderten Syntax ging es dann.

        Gruß,
        Stefan

  3. Hallo Gerd!

    Mich wundert es nicht, da ich das gleiche Problem hatte.

    Du darfst Netscape nie zu viel verlangen, immer schön zureden, dem armen...

    Im Klartext verlangst Du von Netscape:

    • daß er eine Frameset-Seite verläßt, um in einem Frameset ein Framset aufzurufen, das ein Framekiller enthält!

    Na wenn das nicht zu viel für unser Netsi ist! Wo der doch mit viel einfacheren Sachen den Geist aufgibt!

    Ich habe das damals gelöst mit der Zusätzlichen Angabe target="_top". Da gings. Aber scheinbar funzt auch Alex's Lösung!

    Bis danndann

    PAF (<FRAMESET><FRAME NAME="PATRICK">
          <FRAMESET>
            <FRAME NAME="AUS">
            <FRAME NAME="FRANKFURT">
          </FRAMESET>
          </FRAMESET>)

    1. Hallo Patrick

      Du darfst Netscape nie zu viel verlangen, immer schön zureden, dem armen...
      Im Klartext verlangst Du von Netscape:

      • daß er eine Frameset-Seite verläßt, um in einem Frameset ein Framset aufzurufen, das ein Framekiller enthält!  
        Na wenn das nicht zu viel für unser Netsi ist! Wo der doch mit viel einfacheren Sachen den Geist aufgibt!

      Ich Tierquäler ;-)

      Ich habe das damals gelöst mit der Zusätzlichen Angabe target="_top". Da gings. Aber scheinbar funzt auch Alex's Lösung!

      meinst Du target="_top" beim aufrufenden Link ??? Da habe ich leider keinen Einfluß drauf, der wird von Forumsscript generiert (parsimony.net).
      Oder als Ergänzung in JS ??

      Ciau,

      Gerd

      1. hallo Gerd!

        meinst Du target="_top" beim aufrufenden Link ??? Da habe ich leider keinen Einfluß drauf, der wird von Forumsscript generiert (parsimony.net).

        Stimmt, damals habe ich nur lokal getestet, man hat ja keinene Einfluß auf den Code anderer...(zum Glück!)

        Oder als Ergänzung in JS ??

        Probiermal folgendes:

        if(self != top)
          top.location.href=self.location;

        Bis danndann

        PAF (patrickausfranfkurt)

        1. Hallo Partick,

          Stimmt, damals habe ich nur lokal getestet, man hat ja keinene Einfluß auf den Code anderer...(zum Glück!)

          ... are you sure ???

          Probiermal folgendes:

          »»  if(self != top)

          top.location.href=self.location;

          Da die Variante von Alex funktioniert, habe ich die erst mal implementiert. Diesen Vorschlag, werde ich morgen uuups ich meine heute abend mal testen, ich vermute aber in der Zwischenzeit, daß das Problem was mit Objekthirarchien oder so ähnlich zu tun hat. Ich meine daß Stefan in den letzten Wochen hier mal was ähnliches geschrieben hat (fiel mir beim lesen von Alex's Vorschlag ein), das habe ich bis jetzt  im Archiv noch nicht gefunden.
          Aber darum kümmere ich mich wie schon gesagt jetzt im Moment nicht mehr, sondern erst wenn ich wieder etwas ausgeruhter bin :-)

          Nochmals vielen Dank für Deine Mühe

          Gerd

  4. Hallo,

    habt Ihr schon mal hier nachgelesen, ich gestehe, ich habe den Thread nur ueberflogen ;-)

    http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/#fenster

    Die dortige Loesung beruht auf einer Variablen, die im Top Frame definiert wird.
    Per JS wird von den Framedateien aus ueberprueft, ob die Variable vorhanden ist. Falls nicht, wird das Frameset nachgeladen - bzw. das unerwuenschte abgestreift.

    Kein Problem fuer NC und IE, aller NC-Hasser zum Trotz (Vielleicht hattet ihr nur den falschen Ansatz *gemein_grins*)

    Hilft Euch das? Gruss  Joachim

  5. Hi,

    Sollten nicht die Angaben fuer no-Frames fuer Netscape zwischen die <NOFRAMES> ... </NOFRAMES> TAGS gepackt werden?

    Gruss,
    Andrea