Automatisch van pagina wisselen II
Op sommige sites gebeurt het dat pagina's spontaan lijken te worden ververst. Meestal is er dan een soort
"tijdklokje" in geprogrammeerd waardoor de pagina na verloop van een zekere tijd -al of niet gewijzigd-
opnieuw van de server wordt gehaald.
Hier wordt een methode besproken die gebruik maakt van JavaScript.
De code staat onderaan deze bladzijde. Je kunt hem ook downloaden.
- Het wordt aanbevolen om goed na te gaan of de tijd die verstrijkt voor het verversen/doorschakelen van
de pagina niet te kort of te lang is. Als de tijd te kort is kan de bezoeker niet goed zien wat er gaat
veranderen. Als het te lang duurt gaat de bezoeker zich vervelen. In beide gevallen zal hij geneigd zijn
je site te verlaten, en dat was nou net niet de bedoeling....
- De function NieuweBladzijde() vervangt de inhoud van de huidige pagina. Deze wordt geactiveerd door de event-handler onLoad in de <BODY>-tag.
- De aanroep van NieuweBladzijde() wordt uitgesteld door gebruik van setTimeout().
- Je kunt de werking proberen. Als je op de knop drukt wordt -na een wachttijd van 10 seconden- de pagina
in dit frame vervangen door de startpagina van deze website. Keer hier weer terug met de knop "Vorige"
van je browser.
- Als je met frames werkt wordt de pagina in het active frame geladen. Als je wilt dat bestaande frames verdwijnen moet je
de function NieuweBladzijde() veranderen. De code:
window.location.href = ....
wijzig je in:top.location.href = ....
Zie ook het item "Frames van de aanroepende pagina overschrijven".
Gebruik:
- De code staat gedeeltelijk in de <HEAD> en gedeeltelijk in de <BODY>-tag.
De code ziet er als volgt uit:
(Zet deze code in de <HEAD>)<script>(Neem deze code op in de <BODY>-tag)
// Skip naar een volgende bladzijde
// (c) 2002 Ben Boukes, mag vrij worden gebruikt
function NieuweBladzijde() {
window.location.href="https://home.hccnet.nl/s.f.boukes";
return
}
</script>
onLoad="timeout=setTimeout('NieuweBladzijde()',10000)"
- De function NieuweBladzijde() bevat de URL van de te openenen pagina.
- De function setTimeout() bevat twee parameters. De eerste is de function, de tweede is de wachttijd in milliseconden. In dit geval wordt er dus 10 seconden gewacht voordat NieuweBladzijde wordt aangeroepen.
- De URL van de pagina die moet worden geladen kan een relatieve verwijzing zijn (pagina is onderdeel van dezelfde site) of een absolute verwijzing (een complete URL [http://www....... enz]. Dit is nodig als je wilt verwijzen naar een pagina van een andere site).
Opmerking:
Deze techniek is heel geschikt voor het regelmatig verversen van een pagina waarop het -statische- beeld
van een webcam is te zien. Zet op de plaats van de URL de naam van de .html-file zelf of laat deze
weg.
Als je een serie .html-bestanden op deze manier naar elkaar laat verwijzen kun je een doorlopende
presentatie maken.
Je kunt dit gebruiken als je je website naar een andere provider hebt verhuisd. Bij de "vorige"
provider laat je dan een enkele pagina staan, bijvoorbeeld met de tekst:
Een ogenblikje, u wordt automatisch doorgeschakeld.
Je laat deze pagina dan -bijvoorbeeld na 10 seconden, beslist niet langer- doorschakelen naar je nieuwe
site met behulp van dit JavaScript. Let er wel op dat je nu de volledige URL (dus inclusief http:// enz.) moet opgeven,
anders werkt het niet.
Maak van de URL in elk geval een hyperlink, zodat een ongeduldige bezoeker zelf kan doorklikken als dit JavaScript te lang
duurt of toch niet blijkt te werken... :-)
Downloaden:
Druk op de knop:
File: voorb055.zip, 405 bytes.
Opmerking:
Een methode die werkt met een <meta>-tag vind je in het item "Automatisch
van pagina wisselen".
Varianten op deze aanpak zijn te vinden in de items "Automatisch terug naar
de vorige pagina" en "Automatisch de huidige pagina verversen".