Hur inkluderar man Javascript-filer?
Jag tittade på SO:s källkod för att se hur de gör div på den högra sidofältet som ändras från relativ till fast position.
Jag såg att SO JS-biblioteket i princip är helt inkluderat på sidan med koden nedan...
Min fråga är hur koden inkluderas på det här sättet, är det något liknande RequireJS eller labJS javascript-koden som laddar filer endast när de behövs eller något liknande?
<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>
Svar #1
Min fråga är hur koden inkluderas på det här sättet, är det något liknande RequireJS eller labJS javascript-koden som laddar filer bara när de behövs eller något liknande?
Ja, men inte någon av de två - det är en mycket liten hemgjord lösning. Den kodsnutten du postade låter bara JavaScript veta vilka cachebrytare som ska användas om en fil inkluderas; den inkluderar dem faktiskt inte. Det händer bara när filen faktiskt behövs.
Jag skrev ett blogginlägg som ger viss insikt i vad som händer där.