Meten hoogte pagina

Status
Niet open voor verdere reacties.
Er is een véél beter oplossing voor dit probleem. Het gaat alleen maar om de plaatsing van elementen, niet de inhoud ervan begrijp ik. Plaatsing is te regelen met CSS, en CSS bestanden kun je met javascript inladen of zelfs oude overschijven.

Stel je hebt twee CSS bestanden, style1.css met een zwarte achtergrond op het body element en style2.css met een rode achtergrond.

Deze code zorgt in Firefox, Internet Explorer en Opera voor een rode achtergrond:
HTML:
<html>

<head>
<title>Dynamisch stylesheet vervangen</title>
<link rel="stylesheet" href="style1.css" id="stylesheet" />
</head>

<body>


<script type="text/javascript">
document.getElementById("stylesheet").href="style2.css";
</script>


</body>
</html>

Achtergrond kleur is natuurlijk veel simpeler dan het verplaatsen van elementen maar het is een proof of concept. Deze methode zal véél sneller zijn dan de pagina herladen of Ajax (wat eigenlijk hetzelfde is als de pagina herladen, maar dan zonder laadbalk).

Je moet er wel voor zorgen dat je een simpele, duidelijke html structuur aanhoudt die makkelijk met CSS om te bouwen valt van het ene template naar het andere. Maar dat is best te doen als je het niet te gek maakt.

De pagina herladen (of Ajax gebruiken) is erg gebruikersonvriendelijk. Je pagina is al compleet geladen, anders kun je de hoogte niet controleren dus er is behoorlijk wat tijd verspilt, maar om nou nog eens de hele pagina opnieuw op te vragen zorgt voor een dubbele laadtijd van de pagina. Daarnaast was de gebruiker misschien je site al aan het gebruiken en nu herlaad of verspringt hij ineens. Dat heeft deze manier overigens ook, dus het beste wat je kunt doen is de pagina onbruikbaar maken (via javascript!) totdat de hoogte bekend is en het goede stylesheet is geladen.

Overigens is het beste wat je kunt doen gewoon één template maken wat er altijd goed uitziet. Makkelijker gezegd dan gedaan, ik weet het, maar het is echt het beste.
 
Laatst bewerkt:
Als het inderdaad daar om gaat sluit ik mij aan bij Glest.

Alleen zou ik de uitspraak over AJAX iets nuanceren. AJAX is niks anders dan javascript. de term AJAX geeft enkel aan dat je javascript gebruik maakt van (asynchrone) HTTP Requests. Wanneer je geïnteresseerd bent in het gebruik hiervan raad ik je aan om eerst informatie op te zoeken over HTTP Requests.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan