2011-11-19 12 views
6

Patrzyłem na kod źródłowy SO, aby zobaczyć, jak robią div na pasku po prawej stronie, który zmienia się z relatywnej na stałą pozycję.W jaki sposób Stack Overflow zawiera pliki JavaScript?

Widziałem, że biblioteka SO JS jest dość dużo wszystko włączone do strony z tego kodu poniżej ...

Moje pytanie brzmi jak to kod włączone tak, to jest coś takiego jak RequireJS lub labJS javascript kod, który ładuje pliki tylko wtedy, gdy są potrzebne lub coś w tym stylu?

<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

Wydaje się prawidłowe pytanie do mnie – Sarfraz

+0

Czy próbowałeś już przeanalizować kod źródłowy? http://jsbeautifier.org może być użyty do de-minifikacji kodu. Kod źródłowy jest dostępny pod adresem http://cdn.sstatic.net/js/stub.js?v=e922af98260a. ** Odminifikowany kod: http://pastebin.com/W5ynGRNS** –

+0

@Rob W Tak powyższy kod jest wersją Beautified, nadal uczę się Javascript, więc mogę nieco go śledzić, ale nie wiem wystarczająco dużo, aby zrealizować co lub jak to jest w tym pliki – JasonDavis

Odpowiedz

8

Moje pytanie brzmi: w jaki sposób kod włączone tak, to jest coś jak RequireJS lub labJS kod JavaScript, który ładuje tylko pliki, gdy są potrzebne, czy coś takiego?

Tak, ale nie jedno z dwóch – jest to bardzo małe domowe rozwiązanie. Ujawniony fragment kodu pozwala JavaScriptowi wiedzieć, jakie łamacze pamięci podręcznej mogą używać , jeśli zawiera plik; w rzeczywistości ich nie uwzględnia. Dzieje się tak tylko wtedy, gdy plik jest rzeczywiście potrzebny.

Napisałem blog post, który daje pewien wgląd w to, co się tam dzieje.

+0

dziękuję, dam mu przeczytać – JasonDavis

+0

@balpha świetnie! Chciałbym użyć funkcji "loadScript", czy jest chronione prawem autorskim? – shadesco

+0

@shadesco: Jeśli cokolwiek, to jest pod tą samą licencją co jQuery (MIT/GPL do wyboru), skąd pochodzi. – balpha

Powiązane problemy