Les images CSS inutilisées sont-elles téléchargées par le navigateur ou ignorées ?
Par exemple, dans les règles CSS qui ne correspondent à aucun élément.
.nothingHasThisClass{background:url(hugefile.png);}
Ou bien cela dépend-il du navigateur ?
Les images CSS inutilisées sont-elles téléchargées par le navigateur ou ignorées ?
Par exemple, dans les règles CSS qui ne correspondent à aucun élément.
.nothingHasThisClass{background:url(hugefile.png);}
Ou bien cela dépend-il du navigateur ?
Non, ils ne sont pas téléchargés, du moins pas dans Firefox, IE8 et Chrome.
Un moyen facile de tester cela :
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.nonexistent {
background: url('index.php?foo');
}
</style>
</head>
<body>
<?php if(isset($_GET['foo'])) {
file_put_contents('test.txt', $_SERVER['HTTP_USER_AGENT']);
} ?>
</body>
</html>
Si test.txt
est rempli avec l'agent utilisateur du navigateur, puis l'image est téléchargée. Ce n'était pas le cas dans tous mes tests.
Un test rapide l'a prouvé.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css"><!--
.hasnothing{background-image:url(http://25.media.tumblr.com/tumblr_ky7aakqvH01qatluqo1_400.jpg);}
.hassomething{background-image:url(http://27.media.tumblr.com/tumblr_kxytwr7YzH1qajh4xo1_500.png);}
--></style>
</head><body>
<div class="hassomething"></div>
</body></html>
La 2ème image, tumblr_kxytwr7YzH1qajh4xo1_500.png
a été téléchargé mais pas l'autre. Cela s'est avéré vrai dans Chrome (Developer tools) et Firefox (Firebug).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.