Korábban már említettem, hogy a Ajax Library-hez tartozó JavaScript fájlokat a Microsoft közzétette a saját Content Delivery Networkjén. Ráadásul nem csak az Ajax Library split script fájljai és a jQuery Library, hanem a System.Web szerelvényben található hagyományos WebForms szkriptek is felkerülnek a CDN-re. Mindez felturbózva a ScriptManager új lehetőségeivel teljesen szabályozhatóvá teszi, hogy pontosan milyen szkript hivatkozások renderelődnek az oldalunkba.
Néhány ScriptManager újdonság és kevésbé ismert funkció:
- Az EnableCdn tulajdonság állítgatásával egy pillanat át tudjuk állítani az alkalmazásunkat, hogy a Microsoft CDN-ről töltse a JavaScripteket és ne a mi szerverünk sávszélességét terhelje.
- Az AjaxFrameworkMode tulajdonság Enabled/Explicit/Disabled értékeivel finoman hangolhatjuk, hogy pontosan mely szkriptek töltődjenek be az oldalon.
- A ScriptReference elem Name, Assembly és Path tulajdonságaival felüldefiniálhatóak a beépített szkriptek, és ez most már a System.Web szerelvényhez tartozó szkriptekre (pl. WebUIValidation.js) is működik.
- A CompositeScript elem segítségével az egyes ScriptReference elemekben megadott fájlokat a ScriptManager képes egyetlen fájlba összegyúrni és egyetlen HTTP válaszban leküldeni a böngészőnek.
- A CompositeScript Path tulajdonságának megadhatjuk egy előre létrehozott statikus fájl útvonalát, éppúgy, mint a ScriptReference elemeknek.
- A ScriptReference elem Assembly attribútumában többé nem kell fully qualified assembly name-et használnunk, elég például annyi, hogy “System.Web”, a Version, Culture és PublicKeyToken értékektől eltekinthetünk. Cserébe a hivatkozott szerelvénynek ott kell lennie a bin mappában, vagy legalább a web.config <assemblies> szekciójában hivatkoznunk kell rá, mert a GAC nem elég egyértelmű.
- A ScriptManager.ScriptResourceMapping tulajdonságával kódból definiálhatjuk bármelyik szkriptünk Path, DebugPath, CdnPath és CdnDebugPath tulajdonságait.
- A ScriptManager ScriptMode attribútumában megadhatjuk, hogy a Release szkriptek töltődjenek le a szerverről.
- A ScriptManager LoadScriptsBeforeUI attribútumát false értékre állítva a szkript hivatkozásokat az oldal aljára helyezhetjük, így jobb felhasználói élmény érhető el.
Jelenleg a következő szkriptek találhatóak a CDN-en:
- ASP.NET AJAX Library 3.5: az ASP.NET 3.5-ben használatos MicrosoftAjax.js fájl tölthető innen is.
- Microsoft Ajax Library 4.0 (valószínűleg ez lesz az új branding): jelenleg a novemberi béta érhető el split script és composite script fájlok formájában. A 4.0 RTM után a scriptek valószínűleg a http://ajax.microsoft.com/ajax/4.0 útvonalon lesznek megtalálhatóak és várhatóan ugyanide kerülnek majd a System.Web szerelvényhez tartozó szkriptek is. Érdemes észrevenni, hogy az Ajax Control Toolkit is teljesen átalakult, az új verzió már az Ajax Library-re épül.
- jQuery 1.3.2: teljes és minimalizált változatban is, már a végleges URL-eken.
- jQuery Validate 1.6: teljes és minimalizált változatban is, sőt a magyar nyelvű lokalizációval együtt, már a végleges URL-eken.
- ASP.NET MVC: jelenleg az 1.0, majd a .NET 4 RTM után az ahhoz megjelenő változat fájljai is.
Érdemes megismerkedni ezekkel a lehetőségekkel, Gincsai Gábor barátom AJAX szkriptek összefűzése c. cikke részletesebben is bemutatja egyik-másik kapcsoló használatát.