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řitXmlHttpRequestobjekt, a poskytnout alternativní řešení formouscripttagu. - 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í propertyasyncpak 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 propertyasyncnastavenou nafalsea 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.