Vinnaren i pepparkakshustävlingen!
2018-09-19, 10:50
  #1
Medlem
sinewaves avatar
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.
__________________
Senast redigerad av sinewave 2018-09-19 kl. 10:53.
Citera
2018-09-19, 10:54
  #2
Avstängd
iAmLanes avatar
Har du en micro som router eller varför skulle detta krävs?
Citera
2018-09-19, 10:57
  #3
Medlem
sebnies avatar
Detta kommer säkert knäcka kompatibiliteten med Microsoft Edge så jag säger nej till detta.

Finns ingen anledning att sabba HTTP/1.1 mera. Låt det räcka med att notifikationer använder AJAX.
Citera
2018-09-19, 12:21
  #4
Medlem
sinewaves avatar
Citat:
Ursprungligen postat av sebnie
Detta kommer säkert knäcka kompatibiliteten med Microsoft Edge så jag säger nej till detta.

Finns ingen anledning att sabba HTTP/1.1 mera. Låt det räcka med att notifikationer använder AJAX.

Knappast då man givetvis gör en check för stöd, inga konstigheter.
Edge är utöver detta en modern webbläsare.
__________________
Senast redigerad av sinewave 2018-09-19 kl. 12:25.
Citera
2018-10-09, 17:10
  #5
Medlem
lillapaddingtons avatar
Håller med! Finns det några fler nackdelar än vad du skrev?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback