Voor een site waarvan 95% van de bezoekers JavaScript gebruikt heb ik het volgende ‘probleem’.
Door middel van AJAX requests –kan- data geladen worden (een feature die dus alleen voor JS gebruikers beschikbaar is, dat is geen punt van discussie). Veel data, maar telkens dezelfde HTML container. Vanwege de progressive enhancement methode wordt deze container momenteel op de site gezet dmv. JS. Deze container bestaat uit meerdere HTML elementen, een ietwat complex geheel. Nu volgt mijn probleem: waar in de code zouden jullie deze container zetten?
1. Momenteel staat de HTML code van deze container als JS variabele in de JS file, niet zo mooi voor toekomstige ontwikkelingen, niet overzichtelijk. Echter voor niet-JS gebruikers is dit ok: zij hebben immers deze container niet nodig.
2. Het is natuurlijk een mogelijkheid om dmv. een (extra) AJAX request deze container (na) te laden, maar dat maakt de pagina natuurlijk weer een stukje langzamer. Het kan natuurlijk onDomReady gebeuren, maar daar wordt reeds een hoop geladen.
3. Een andere optie is om de container standaard onzichtbaar op de pagina te zetten en op het moment dat het nodig is te tonen. Die 5% niet-JS gebruikers moeten dan helaas deze container laden terwijl ze deze niet kunnen gebruiken.
Ik heb enige ontwikkelaars gesproken: iedereen kiest een andere optie. Wat zouden jullie doen en waarom zouden jullie het doen?
bedankt en prettig weekend!
Door middel van AJAX requests –kan- data geladen worden (een feature die dus alleen voor JS gebruikers beschikbaar is, dat is geen punt van discussie). Veel data, maar telkens dezelfde HTML container. Vanwege de progressive enhancement methode wordt deze container momenteel op de site gezet dmv. JS. Deze container bestaat uit meerdere HTML elementen, een ietwat complex geheel. Nu volgt mijn probleem: waar in de code zouden jullie deze container zetten?
1. Momenteel staat de HTML code van deze container als JS variabele in de JS file, niet zo mooi voor toekomstige ontwikkelingen, niet overzichtelijk. Echter voor niet-JS gebruikers is dit ok: zij hebben immers deze container niet nodig.
2. Het is natuurlijk een mogelijkheid om dmv. een (extra) AJAX request deze container (na) te laden, maar dat maakt de pagina natuurlijk weer een stukje langzamer. Het kan natuurlijk onDomReady gebeuren, maar daar wordt reeds een hoop geladen.
3. Een andere optie is om de container standaard onzichtbaar op de pagina te zetten en op het moment dat het nodig is te tonen. Die 5% niet-JS gebruikers moeten dan helaas deze container laden terwijl ze deze niet kunnen gebruiken.
Ik heb enige ontwikkelaars gesproken: iedereen kiest een andere optie. Wat zouden jullie doen en waarom zouden jullie het doen?
bedankt en prettig weekend!