J'ai été à la recherche à la source d'un script greasemonkey et de remarquer ce qui suit dans leur css:
.even { background: #fff url(data:image/gif;base64,R0lGODlhBgASALMAAOfn5+rq6uvr6+zs7O7u7vHx8fPz8/b29vj4+P39/f///wAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAIMAAVCBxIsKDBgwgTDkzAsKGAhxARSJx4oKJFAxgzFtjIkYDHjwNCigxAsiSAkygDAgA7) repeat-x bottom}
Je peux comprendre qu'un script greasemonkey aurait à regrouper tout ce qu'il peut dans la source, par opposition à l'héberger sur un serveur, c'est assez évident. Mais depuis je n'avais pas vu cette technique précédemment, j'ai examiné son utilisation et il semble attrayante pour un certain nombre de raisons:
- Il permettra de réduire la quantité de requêtes HTTP sur le chargement de la page, ainsi que l'amélioration du rendement
- Si pas de CA, alors qu'il permettra de réduire la quantité de trafic généré par les cookies envoyés à côté des images
- CSS les fichiers peuvent être mis en cache
- CSS les fichiers peuvent être au FORMAT gzip
Considérant que IE6 (par exemple) a des problèmes avec cache pour les images d'arrière-plan, il semble que ce n'est pas la pire idée...
Donc, est-ce une bonne ou une mauvaise pratique, pourquoi ne PAS l'utiliser et quels outils utilisez-vous pour base64 encode les images?
mise à jour - les résultats des tests
test avec une image: http://fragged.org/dev/map-shot.jpg - de 133,6 Ko
test de l'URL: http://fragged.org/dev/base64.html
dédié fichier CSS: http://fragged.org/dev/base64.css- À 178,1 Ko
L'encodage GZIP côté serveur
taille résultante envoyé au client (YSLOW les composants de test): 59.3 Ko
Enregistrement de données envoyé au navigateur client: 74.3 Ko
Sympa, mais il sera un peu moins utile pour les petites images, je suppose.
Mise à JOUR: Bryan McQuade, ingénieur logiciel chez Google, travail sur PageSpeed, exprimée à ChromeDevSummit 2013 que des données:les uri dans le CSS est considéré comme un rendu de blocage anti-modèle pour la prestation de critique/minime CSS lors de son talk -
#perfmatters: Instant mobile web apps
. Voir http://developer.chrome.com/devsummit/sessions et garder à l'esprit - de diapositive réelle