Automatischer Seitenwechsel
Problemstellung: Sie wollen einen "Splash-Screen" in Ihre Site integrieren, der den Surfer nach einigen Sekunden automatisch auf die eigentliche Homepage weiterleitet. Bei den verschiedenen Möglichkeiten, die es hier gibt, gibt es auch verschiedene Schwierigkeiten, die sich daraus ergeben.
per <refresh>-Tag: Dieses Tag im Datei-head leitet nach 5 Sekunden auf die angegebene Folgeseite weiter:
<meta http-equiv="refresh" content="5; URL=http://www.pigasus.de">
Manche Suchmaschine ignoriert Seiten mit diesem Tag bzw. wenn die Wartezeit zu kurz ist, da so doppelte Anzeigen durch identische Seiten mit verschiedenen URLs vermieden werden sollen. Leider funktioniert diese Weiterleitung nicht mit jedem Browser, eine Chance zur manuelle Weiterleitung mit einem normalen Link ist also dringend anzuraten.per location.href: Mit ein wenig JavaScript lässt sich das Ziel auch erreichen:
timer=setTimeout("self.location.href='neuedatei.htm'", 5000);
Auch hier muss der Browser zumindest JavaScript verstehen.per location.replace: Eine andere JavaScript-Technik wäre diese:
timer=setTimeout("window.location.replace('neuedatei.htm')", 5000);
Vorteil hierbei ist, dass der Splash-Screen nicht mehr in der history auftaucht. Täte er es, würde man nämlich beim Klick auf den Back-Button gleich wieder nach vorne weitergeleitet. Durch das replace wird die aktuelle history-Position mit der Folgedatei überschrieben. Sie funktioniert ab JavaScript 1.1 (also NN3 bzw. IE4), deshalb sollte das überprüft werden, z.B. indem das Scripttag einen entsprechenden Parameter erhält:<script language="javascript1.1">
oder, viel besser:if (document.images) self.location.replace('main.htm'); else self.location.href = 'main.htm';
Hier wird die Möglichkeit von location.replace geprüft, wenn es nicht klappt, wird alternativ location.href verwendet.