Hoi ecross,
is het de moeite waard om te checken of javascript aan staat en zo niet het include script te gebruiken of word het daar niet veel sneller op?
Goeie vraag, daar heb ik voor een ander doel ook al eens vre-se-lijk-erg-hevig op zitten broeden: dat zou heel mooi zijn, als dat kon. Maar met mijn kennis & slimheid (voor zover aanwezig) kwam ik tot de conclusie ... :shocked:
Ik denk dat het niet kan, want als je alles op één pagina wilt zetten (zowel de javascript-aanroep als de php-aanroep) dan lukt het niet:
- Met een <noscript>tag kan je de php-include niet alléén laten verschijnen als javascript uit staat. De php-include wordt altijd gedownload, want voordat de browser bij de bezoeker kan kijken of javascript aan of uit staat, heeft de server al de include ingebakken en meegestuurd.
Zie dit voorbeeld: no-noscript.
- Met "uitzetten van de div van de include" met css, via { display: none; }, gaat het ook niet; dus dan kan je ook niet al/niet met javascript die div alsnog oproepen.
Zie dit voorbeeld: no css.
De enige manier die ik kan verzinnen, is een vooraf-pagina te maken, die bekijkt of javascript aan staat. Zo ja, dan wordt doorgeschakeld naar een htm-pagina met de javascript-variant (zonder de php-include). En zo nee, dan wordt doorgeschakeld naar de php-variant met de include erin.
Nadeel is dan dat je:
- een opsplitspagina extra moet maken,
- een script-variant pagina moet maken,
- een php-variant pagina moet maken,
- en ook nog het aparte php-include fragment.
Behalve veel werk, betekent dit ook nog:
- de opsplitspagina moet zo kort mogelijk zijn, en mag geen inhoud hebben;
- en zal daarom niet erg hoog in zoekmachines scoren;
- maar de opsplitspagina is de "link-pagina" zowel voor intern als voor extern gebruik;
- en de twee varianten van de vervolgpagina (met de zoekmachine-gevoelige content) moeten juist geen indexering krijgen, want je mag er niet direct naar toe.
Al met al: opsplitsen lijkt me geen werkbare oplossing.
Dan lijkt me de javascript-variant het beste: die werkt clientside, terwijl de php-variant eerst de include moet ophalen, en dan een groter bestand naar de bezoeker moet sturen. En meer werk voor de fabricage betekent.
Meer mogelijkheden kan ik niet bedenken. Wie het weet mag het zeggen!
Met vriendelijke groet,
CSShunter
PS: kunnen we ook eens een 3D resultaat zien? Ga ik wel een brilletje kopen!