Implementera PJAX (PushState + AJAX) för att snabba upp sidladdningar av av olika typer av delsidor som sällan till aldrig kräver att användaren till 100% laddar om en hel sida.
Hur fungerar det?
Det fungerar genom att helt enkelt hämta den sida som efterfrågas men istället göra detta via ajax och sedan uppdatera en specifik del av sidan (i detta fall <div id="site">). När man är klar med detta uppdaterar man url:en automatiskt i webbläsaren, det ser ut som att man navigerat till en ny sida även fast man egentligen inte har gjort det. Man kastar även in detta i webbläsarens historik för att göra det möjligt att gå framåt och bakåt.
Fördelar:
1. Det går snabbare
2. Är mer resurssnålt både för klienten och på serversidan
Detta då inte samtliga resurser återigen måste kontrolleras och dessa requests återigen göras mot servern. Det uppstår en sk. "win win".
3. Enkelt att implementera då allt som rör detta är clientside (js), dvs -- i praktiken kastar ni bara in ett javascript i sidfoten. Om något strular är det bara att ta bort; det är 100% transparent så att säga
Nackdelar:
1. Måste skriva scripts för att ladda om ev. annonser som ni har. Detta kopplar man dock ganska enkelt in dock; man laddar helt enkelt om/triggar laddningen efter det att AJAX-anropet är klart
2. Någon måste skriva koden
Har ett ofärdigt ex på detta som ni finner under:
https://we.tl/t-MojF8yZwzu
Instruktioner:
1. Använd Google Chrome
2. Öppna chrome://extensions/ genom att rakt av skriva det i addressfältet i Chrome
3. Packa upp mappen
4. Dra och släpp mappen Flashback till chrome://extensions/
5. Aktivera eventuellt tillägget
6. Testa klicka runt på t ex Aktuella ämnen, Nya ämnen etc.
Det som inte fungerar i ex:et är viss hantering ibland och det skulle behövas vissa förbättringar för att endast köra PJAX på vissa specifika delar istället för att ha en 'exclusion list' etc.