Stefan Link: Frameset + Framebreaker + Opera = Problem?

Hallo community,

folgendes Problem: ich habe eine Seite, die in ein bestehendes frameset geladen wird, das sprengen und selbst ein eigenes frameset aufbauen soll. Das geht überall in allen Browsern nur im Opera nicht. Dieser meldet:

-----------------------------------------------------------------
Inline script thread
Error:
name: ReferenceError
message: Security error: attempted to read protected variable

https://81.209.167.39/Pages/Hauptseiten/Hauptseiten_main.php?vid=00c843656ad3bcce19fd381e30ce95e4
Event thread: onload
Error:
name: TypeError
message: Statement on line 1: Expression evaluated to null or undefined and is not convertible to Object: parent.Ressourcen
Backtrace:
  In unknown script
    parent.Ressourcen.location = "../Hauptseiten/Hauptseiten_ressourcen.php?vid=00c843656ad3bcce19fd381e30ce95e4";
  At unknown location
    {event handler trampoline}
---------------------------------------------------------------------

Ich werde da leider nicht ganz schlau draus, ausser dass er mit den srcs der frames ein Problem hat. Vor kurzem hatten wir den Parameter vid noch nicht an den srcs, da ging das noch. Hier der entsprechende Seitencode:

---------------------------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="de">
  <head>
    <script type="text/javascript">
      if(top!= self)
      top.location=self.location;
    </script>
  </head>
  <!-- Definition der Frames -->
  <frameset cols="190,*,100" frameborder="0" border="0">
    <frame name="Menue" src="Pages/Hauptseiten/Hauptseiten_menue.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no" marginwidth="0" marginheight="0">
    <frameset rows="50,*" frameborder="0" border="0">
      <frameset cols="30,*,30" frameborder="0" border="0">
        <frame name="Linksoben" src="Pages/Hauptseiten/Hauptseiten_linksoben.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no">
        <frame name="Head" src="Pages/Hauptseiten/Hauptseiten_head_musik.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no" marginwidth="0" marginheight="0">
        <frame name="Rechtsoben" src="Pages/Hauptseiten/Hauptseiten_rechtsoben.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no" marginwidth="0" marginheight="0">
      </frameset>
      <frameset cols="30,*,30" frameborder="0" border="0">
        <frame name="Links" src="Pages/Hauptseiten/Hauptseiten_links.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no">
        <frame name="Main" src="Pages/Hauptseiten/Hauptseiten_main.php?vid=00c843656ad3bcce19fd381e30ce95e4""                                marginwidth="0" marginheight="0">
        <frame name="Rechts" src="Pages/Hauptseiten/Hauptseiten_rechts.php?vid=00c843656ad3bcce19fd381e30ce95e4" noresize scrolling="no">
      </frameset>
    </frameset>
    <frame name="Ressourcen" src="Pages/Hauptseiten/Hauptseiten_ressourcen.php?vid=00c843656ad3bcce19fd381e30ce95e4"  noresize scrolling="no" marginwidth="0" marginheight="0">
    <noframes>
      <body>
        Leider unterstützt ihr Browser keine Frames. Bitte benutzen Sie einen frame-fähigen Browser, um diese Präsenz sehen zu können!
      </body>
    </noframes>
  </frameset>
</html>

------------------------------------------------------------------

Kann mir hier jemand helfen?

Herzlichen Dank im Voraus!
Grüße
Stefan

  1. Hallo,

    Kann mir hier jemand helfen?

    Ja, wenn Du ein wenig weiter unten geschaut hättest, hättest Du die Lösung bereits:
    https://forum.selfhtml.org/?t=104535&m=644742

    Ich persönlich nutz immer:

    if (self.location != top.location){
      top.location = self.location;
    }

    Das funktioniert mit Opera 7.54 - 8.0b bei mir

    Mit freundlichem Gruß
    Micha

    1. Habe ich! Leider geht das eben bei mir nicht. Da kommt eben auch die oben gepostete Fehlermeldung :(

    2. Hi,

      Ja, wenn Du ein wenig weiter unten geschaut hättest, hättest Du die Lösung bereits:
      https://forum.selfhtml.org/?t=104535&m=644742

      warum gibst Du nicht direkt https://forum.selfhtml.org/?t=104535&m=644750 an?

      Ich persönlich nutz immer:

      if (self.location != top.location){
        top.location = self.location;
      }

      Das funktioniert mit Opera 7.54 - 8.0b bei mir

      und Du bekommst keine Zugriffsverweigerung, wenn top auf einer fremden Domain liegt?
      top.frames.length kann AFAIK auch dann noch abgefragt werden.

      freundliche Grüße
      Ingo

      1. Hallo Ingo,

        https://forum.selfhtml.org/?t=104535&m=644742
        warum gibst Du nicht direkt »» https://forum.selfhtml.org/?t=104535&m=644750 an?

        Habe ich doch?!

        und Du bekommst keine Zugriffsverweigerung, wenn top auf einer fremden Domain liegt?

        Nein, warum sollte ich? Aber probiers aus http://www.derletztekick.de

        top.frames.length kann AFAIK auch dann noch abgefragt werden.

        Warum sollte ich? Die Seite soll in keinem Frame geladen werden, somit kann sie nur das Hauptfenster selbst sein - ist es anders, dann liegt sie bereits in einem Frame...

        Mit freundlichem Gruß
        Micha

  2. hi,

    du hast bereits in https://forum.selfhtml.org/?t=104535&m=644742 zu deinem problem gefragt.

    bitte lies </faq/#Q-11>, und unterlasse solche doppelpostings.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Nun, aus meiner sicht bezog sich das erste Problem auf den Framebreaker an sich, das zweite in Kombination mit einem src-link + Parameter, aber gut. Dann entschuldige ich mich für den Doppelpost und suche weiter nach der Lösung, da die angegebenen Lösungen bei mir leider nicht tun.

      Grüße