Andreas Cloos: Sricpt-Problem

Hallo,

habe dieses Script aus SelfHTML... und ein Problem damit. Leider führt es zum dauerhaften Refresh, auch nachdem sie Seite sich "nach oben" gearbeitet hat. Weiß jemand Rat - bin verzweifelt :-(

<html>
<head>
<title>Seitenanzeige in Frames verhindern</title>
<script type="text/javascript">
<!--  if(top!=self)
  {
    if (window.opera) window.onload=opera_befreien;
    else top.location=self.location;
  } function opera_befreien()
{
  document.links['befreien'].click();
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#AA5522" vlink="#772200" alink="#000000"> <a name="befreien" href="seitenanzeige_opera.htm" target="_top"></a> <h1>Keine Chance für Schaufenster-Anbieter!</h1>
</body>
</html>

  1. Hallo,

    habe dieses Script aus SelfHTML... und ein Problem damit. Leider führt es zum dauerhaften Refresh, auch nachdem sie Seite sich "nach oben" gearbeitet hat. Weiß jemand Rat - bin verzweifelt :-(

    <html>
    <head>
    <title>Seitenanzeige in Frames verhindern</title>
    <script type="text/javascript">
    <!--  if(top!=self)
      {
        if (window.opera) window.onload=opera_befreien;
        else top.location=self.location;
      } function opera_befreien()
    {
      document.links['befreien'].click();
    }
    //-->
    </script>
    </head>
    <body bgcolor="#FFFFFF" text="#000000" link="#AA5522" vlink="#772200" alink="#000000"> <a name="befreien" href="seitenanzeige_opera.htm" target="_top"></a> <h1>Keine Chance für Schaufenster-Anbieter!</h1>
    </body>
    </html>

    grüß dich andreas cloos

    frag dich doch mal, was

    <script>
    top.location=self.location;
    </script>

    macht

    tschüß gerald

  2. hi,

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

    Gruss  Joachim

  3. Hallo Andreas

    <script type="text/javascript">
    <!--  if(top!=self)

    hier ist dein Fehler, die Zeile if (top!=self) wird nie ausgeführt, da sie innerhalb eines Kommentarblockes steht.

    Abhilfe (wie im Beispiel von self):

    <script type="text/javascript">
    <!--
    if(top!=self)
      {
        if (window.opera) window.onload=opera_befreien;
        else top.location=self.location;
      }
    function opera_befreien()
    {
      document.links['befreien'].click();
    }
    //-->
    </script>

    Viele Grüße

    Antje

    PS: Zeilenumbrüche haben in JavaScript eine Bedeutung. Unvorsichtiges Löschen kann zu Problemen führen.

    1. Hallo Antje,

      und genau das sind die Fehler, die um kurz nach zwei morgens passieren, wenn man eigentlich schon Bett liegen sollte. Nicht, daß mir das nicht klar gewesen wäre, aber drauf gekommen wäre ich nie. Ich war schon soweit, daß ich mir das Script aufgemalt habe a la "wenn fenster nicht an top und wenn browser = opera, dann funktion beim laden, wenn browser != opera, dann einfach an top gehen..."

      Froh bin ich ja nur, daß ich nicht der einzige bin, der den Fehler nicht gesehen hat, bes. nach Geralds Hinweis war ich echt dabei mir über die Willkür von if-Schleifen Gedanken zu machen...

      Es schallt Dir somit ein erleichtetes "Danke" entgegen!

      Andreas