2011-11-19 12 views
6

Stavo guardando il codice sorgente SO per vedere come stanno facendo il div sulla barra destra che cambia da posizione relativa a posizione fissa.In che modo Overflow dello stack include i file Javascript?

ho visto che la biblioteca SO JS è praticamente tutto incluso nella pagina con questo codice qui sotto ...

mia domanda è come è il codice incluso in questo modo, è questo qualcosa di simile al RequireJS o labJS javascript codice che carica i file solo quando sono necessari o qualcosa del genere?

<script type="text/javascript"> 
StackExchange.using.setCacheBreakers({ 
    "js/prettify-full.js": "0324556b7bf7", 
    "js/moderator.js": "a38ca3c6143d", 
    "js/full-anon.js": "8fcefa158ad3", 
    "js/full.js": "a168b3deac0f", 
    "js/wmd.js": "688233b2af68", 
    "js/third-party/jquery.autocomplete.min.js": "e5f01e97f7c3", 
    "js/mobile.js": "97644ef9b7d4", 
    "js/help.js": "7f83495f785a", 
    "js/tageditor.js": "75954ba7b6f1", 
    "js/tageditornew.js": "9d9998359a54", 
    "js/inline-tag-editing.js": "364e12111b4b", 
    "js/mathjax-editing.js": "a47e02eb0282", 
    "js/revisions.js": "63c88065da1f" 
}); 
</script> 
+9

Mi sembra una domanda valida – Sarfraz

+0

Hai già tentato di analizzare il codice sorgente? http://jsbeautifier.org può essere utilizzato per decifrare il codice. Il codice sorgente è disponibile su http://cdn.sstatic.net/js/stub.js?v=e922af98260a. ** Codice De-minified: http://pastebin.com/W5ynGRNS** –

+0

@Rob W Sì, il codice di cui sopra è la versione Beautified, sto ancora imparando Javascript quindi posso seguirlo in qualche modo ma non ne so abbastanza per realizzare cosa o come sono inclusi i file – JasonDavis

risposta

8

mia domanda è come è il codice incluso in questo modo, è questo qualcosa di simile alle RequireJS o labJS codice javascript che carica i file solo quando sono necessari o qualcosa del genere?

Sì, ma non uno dei due – è una soluzione molto piccola in casa. Lo snippet che hai postato consente al JavaScript di sapere quali cache breaker usare se includendo un file; in realtà non li include. Ciò accade solo quando il file è effettivamente necessario.

Ho scritto uno blog post che fornisce alcune informazioni su ciò che sta accadendo lì.

+0

grazie, gli darò una lettura – JasonDavis

+0

@balpha fantastico! Mi piacerebbe usare la funzione "loadScript", è protetta da copyright? – shadesco

+0

@shadesco: se mai, è sotto la stessa licenza di jQuery (MIT/GPL a tua scelta), dal momento che è da dove viene. – balpha

Problemi correlati