Voici un script bien pratique pour tous les développeurs qui vous permettra d'accélerer le chargement de vos pages web à l'aide de 2.30kb de Javascript !
Chargeur JavaScript
1.head.js("/path/to/jquery.js", "/google/analytics.js", "/js/site.js", function() {
2.// code ici
3.});
Head JS charge les fichiers javascript en les traitant comme des images, SANS bloquer le chargement de la page. La page est donc plus rapide, même avec un seul fichier combiné.
Organisateur JavaScript
Vous optimisez vos pages en placant les appels aux scripts JS en bas de page ? Bien. Mais pouvez-vous faire ca ?
1.// utiliser jQuery dans le coprs de la page, même si la librairie n'est pas encore incluse
2.head.ready(function() {
3.$("#my").jquery_plugin();
4.});
5.
6.// charge jQuery à n'importe quel endroit de votre page
7.head.js("/path/to/jquery.js");
Modernisateur CSS
Head JS ajoute des classes à la racine du document html, pour que vous puissiez faire cela :
1./* cible CSS pour les navigateurs ne supportant pas box-shadow */
2..no-boxshadow .box {
3.border: 2px solid #ddd;
4.}
facilitateur HTML5
Les DIV, c'est bien, mais Head JS vous permet d'être sémantique et futuriste.
01.<style>
02.article { text-shadow:0 0 1px #ccc; }
03.</style>
04.
05.<!-- works in IE too -->
06.<article>
07.<header></header>
08.<section></section>
09.<footer></footer>
10.</article>
Détecteur de taille d'écran
Concevoir des pages pour un écran de 1980px de large et faites les fonctionner sur un écran 10" ou encore sur des téléphones mobiles.
1./* screen size less than 1024 pixels */
2..lt-1024 #hero { background-image:(medium.jpg); }
3.
4./* fine tune for mobile phone */
5..lt-640 #hero { background-image:(small.jpg); }
Si vous redimensionnez votre navigateur, les règles CSS vont dynamiquement suivre. Head JS s'occupe de tout.
CSS dynamique
Styles pour divers états d'application
01.<script>
02./* detect whether user is logged in. here we check for an existence of a cookie */
03.head.feature("logged", mycookielib.get_cookie("auth_token"));
04.</script>
05.
06.<style>
07./* .. and write CSS accordingly */
08..logged #login-box { display: none; }
09.</style>
A chaque fois que vous appelez "head.feature()", vos règles CSS suivent.
Routeur CSS
Cible CSS pour certaines pages et chemins
1./* CSS targeted for home page only */
2..root-section #index-page
3.
4./* make sidebar visible under /plugins */
5..plugins-section #sidebar { display: block; }
Détecteur de navigateur
Tous les navigateurs sont détectés, mais nous aimons tous IE.
1./* older than IE9 */
2..lt-ie9 .box { padding: 10px; }
3.
4./* CSS fixes for IE6 */
5..ie6 ul { list-style: none; }
Détecteur de fonction JavaScript
Chaque fonction peut être consultée dans la variable globale JavaScript HEAD.
1.if (head.logged) {
2.// do things
3.}
LIEN