Začněme takto ($script.js)

Toto je můj první blogový příspěvek vůbec, což je samozřejmé, že toto je můj první blogový příspěvek na tomto blogu. Myslím, že začnu s novým vývojem v JavaScriptu. Pokud jste se dostali do vývoje JavaScriptu a také jste zkusili zvýšit výkon na webech, které používají Javascript, pravděpodobně už víte, že když prohlížeč stáhne soubor JavaScript, je okamžitě spuštěn. Během provádění JavaScriptu prohlížeč zastaví stahování zdrojů, jako jsou obrázky a šablony stylů. To může být opravdu bolestivé na webech, které používají velké množství JavaScriptu, protože se může zdát, že to zastaví prohlížeč.

Jeden osvědčený postup přidání všech skriptů na konec stránky může pomoci, ale nemusí to nutně vyřešit problém. Pouze odkládá JavaScript na později, takže stále může zastavit obrázky a další zdroje, které se ještě nenačetly. V každém případě bylo vytvořeno mnoho knihoven JavaScriptu, které to pomáhají obejít. Jeden z nejnovějších a věřím, že jeden z nejlepších, se nazývá $script.js. Napsal ji Dustin Diaz, jeden z předních vývojářů pro Twitter.

$script.js nabízí jednoduché rozhraní pro asynchronní stahování a spouštění souborů skriptů, což prohlížeči umožňuje pokračovat v načítání a vykreslování. Pokud byste raději, můžete místo dokončení tohoto příspěvku přejít na původní příspěvek $script.js, který Dustin Diaz napsal, aby oznámil jeho vydání, protože zde ve skutečnosti nezmiňuji nic, co by v jeho příspěvku ještě nebylo.

Nejjednodušeji můžete napsat jeden krátký řádek kódu pro načtení skriptu a jeho spuštění, například takto:

1
$script('script_file.js')

Není to smrtelně jednoduché? Věc, kterou si však musíte všimnout, je, že jelikož je toto načteno asynchronně, pravděpodobně se nespustí, dokud se nedostanete na další řádek kódu. Pokud kód, který provádí toto volání, závisí na skriptu, který chcete stáhnout, pak tato syntaxe nebude fungovat, ale tato syntaxe je skvělá pro načtení něčeho, jako je Google Analytics, která je zcela nezávislá na ostatních vašich skriptech.

Příkladem, který vyžaduje další skript, je situace, kdy je velká část vašeho kódu závislá na jQuery; pak se musíte ujistit, že jQuery je plně načten, než budete pokračovat s kódem. Syntaxe něčeho takového je také docela jednoduchá.

1
2
3
$script('library.js', function() {
// do stuff with library.
});

Jediný rozdíl je v tom, že jste do $script.js zadali další parametr, kterým je funkce zpětného volání, která se spustí po dokončení načítání knihovny. To jsou jen základní věci, které s tím můžete dělat. Skriptům můžete také přidělit identifikátory, abyste mohli mít více zpětných volání, která jsou závislá na stejném skriptu. V původním příspěvku jsou příklady tohoto a některých dalších pokročilých způsobů použití $script.js. Vřele doporučuji, abyste se na to podívali, abyste se dozvěděli více o Dustinově úhledném malém výtvoru.