Namespacing v javascriptu
- danik
- Člen | 56
Helou again,
řešil jsem takhle zase jednou, jak mít hezčí a čistší javascript. Ono když jste UX/UI freak, potřebuje vaše sajta často javascriptů hodně, přecijen všechny ty animace a ajaxy a wigety a bůhvíco ještě se dohromady celkem nasčítaj..
No a už se mi nějak nelíbilo, jak moc se mi zaplňuje globální namespace – přecijen všechny ty jquery a tinymce a autogrowy a fancyboxy, ono se to nasčítá, a přidej pár svejch věcí a je zaděláno na bordel a tudíž je zaděláno i na malér..
A pak jsem objevil takovou pěknou vlastnost JS funkcí.. když mám
var f = function(a,b,c) { ... };
a dám si
f.toString();
…
A tak se zrodil _context.
_context
je javascriptová utilitka, která umí dvě věci:
načítat a spouštět javascripty. Ale umí toho vlastně (trochu) víc…
A tady už je odkaz na zdrojáček a tady na minifikovanou verzi s okomentovanými příklady.
CC-BY-SA :-)
- danik
- Člen | 56
@TODO:
- bylo by fajn zachytávat výjimku ve funkci
xhr()
, která nastane v případě, že nelze vytvořitXmlHttpRequest
objekt, a poskytnout alternativní řešení formouscript
tagu. - ještě je možné optimalizovat to načítání pomocí script tagů..
když přidáme script tag do dokumentu dynamicky, prohlížeč si příslušný
skript stáhne vždycky asynchronně, nezávisle na nastavení property
async
– ale podle nastavení propertyasync
pak načtené skripty buď spustí okamžitě nezávisle na pořadí (async === true
), nebo je spouští postupně tak, aby při provádění bylo zachováno pořadí, ve kterém byly vloženy do dokumentu (async === false
). Takže když bude ve frontě za sebou víc skriptů, které se mají načítat pomocí script tagu (ať už proto, že jsou z jiné domény, nebo proto, že selhalo vytvoření XHR objektu), optimální je vkládat je do dokumentu s propertyasync
nastavenou nafalse
a kompletaci posledního promise objektu navázat na onload posledního z nich..
- Jan Tvrdík
- Nette guru | 2595
@danik: Ač oceňuji tvoji snahu sdílet s ostatními tvá řešení, jsem nucen tě vyhodit, neboť to nijak netýká Nette. Obecné příspěvky týkající se tvorby webu doporučuji směřovat na Diskusi Jak psát web.