ugrás a tartalomhoz

javascript könyvtárak opcionális betöltése

mz82 · 2013. Jan. 5. (Szo), 20.36
Lassan elkészülök egy saját, PHP alapú, OOP szemléletű általános használatra szánt oldalmotororral. Most finomítom a rendszert. Az lenne a kérdésem, hogy szerintetek mennyire van értelme azt vizsgálni, hogy a nem minden aloldalon használt javascript könyvtárakat (Highslide, Tinymce esetleg JQuery) csak abban az esetben töltsem be, ha arra szüksége van az éppen megtekintett aloldalnak? Elsőre arra gondolnék, hogy gyorsít az oldal működésén, de a böngésző nem fog többet piszmogni a cache folyamatos változása miatt?
 
1

Nem értem

Poetro · 2013. Jan. 5. (Szo), 22.13
Nem értem a pontos kérdést. Természetesen csak azt töltsd be az oldalon, amire ott szükség van. Amennyiben valami aggregációt is használsz (amiben több JS fájlt összefűzöl), akkor azokat fűzd össze, amik a legtöbb oldalon szerepelnek. Azt is érdemes megnézni, egy átlag felhasználó, mennyi oldalt néz meg egy munkamenet alatt. Ez általában 1-2 szokott lenni, szóval erre is érdemes figyelni.
a böngésző nem fog többet piszmogni a cache folyamatos változása miatt?

Ezt a kérdést nem igazán értem. A böngésző a letöltött fájlokat fogja cache-elni, és ha arra ismételten szükség van, akkor nem fogja letölteni. Ez egyedül mobil készülékeken okozhat problémát, ugyanis ott a cache-nek megadott tárhely általában kicsi, ezért ott gyakrabban fogja a régebbi / nagyobb fájlokat üríteni.
2

Máshogy...

mz82 · 2013. Jan. 5. (Szo), 22.35
Próbálom jobban leírni. Adott egy template alapú webmotor, ahol a weboldal alap váza egy index.html template-ben van. Ebben a template-ben a motor cserélgeti a szükséges belső tartalmakat. Vannak olyan belső tartalmak, amik komolyabb méretű javascript könyvtárakat használnak (fórum, szövegszerkesztő, galéria). Eddig az index.html-ben fixen be voltak töltve a <head> szakaszban a javascript állományok attól függetlenül, hogy a belső oldal használta, vagy sem. Most azon gondolkodom, hogy érdemes e megvizsgálnom, hogy a tartalom függvényében bizonyos aloldalakon ne töltsem be pl. a galéria script könyvtárát. Az oldal jelenleg sem lassú 0.3-0.4 sec alatt az egész betöltődik.
3

Érdemes

Poetro · 2013. Jan. 5. (Szo), 23.08
Mindenképpen érdemes egy ilyet hozzáadni. Például az aktuális tartalom maga is beszúrhatja a neki kellő script elemeket, vagy pedig felsorolja, hogy melyek kellenek neki, és azt a motor a body elem végére beszúrja.
function setScript($script = null) {
  static $scripts = array();
  if (script) {
    scripts[] = $script;
  }
  return $scripts;
}
// ...
setScript('jquery.js');
// ...
foreach (setScript() as $script) {
  echo '<script src="', $script , '" />';
}
Mondjuk vagy egy éve nem írtam PHP kódot, de kb. így is meg lehet oldani.
4

Üdv. Azt írod most mindent

Karvaly84 · 2013. Jan. 6. (V), 23.07
Üdv.

Azt írod most mindent betölt akkor is ha nem kell? Ezt a dolgot már az elején is sztem úgy kellet volna megcsinálni, hogy csak azt töltse be ami szükséges.

Optimalizálást én úgy csinálnám, hogy lenne egy listám az elérhető scriptekről, a template-nek meg megadnám függőségként azokat az elemeket amik kellenek a kliensnek és az beteszi a head-be. Lévén, hogy objektum orientáltan írtad kódot ezt egy egyszerű osztállyal könnyen kivitelezheted, hogy az adott oldal típusnak milyen függősége van.

Mivel a listában a script-eknek van egy fix url címe így elsőre cache-elve lesz, ha úgy küldöd, és ha más oldalakon hivatkozol rájuk akkor tök mindegy milyen oldalon van az illető onnan tölti be.