Sricpt-Problem
Andreas Cloos
- javascript
0 gerald0 Joachim0 Antje Hofmann
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>
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
hi,
if(self != top) top.location.replace(self.location.href);
Gruss Joachim
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.
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