Jawaban:
Ini akan tergantung pada browser, karena itulah cara mereka memutuskan untuk mengimplementasikan spesifikasi, namun dalam pengujian cepat di sini:
Tidak, mereka tidak diunduh, setidaknya di Firefox, IE8 dan Chrome.
Cara mudah untuk menguji ini:
<!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>
Jika test.txtdiisi dengan agen pengguna browser, maka gambar diunduh. Ini bukan kasus dalam tes saya.
Tes cepat membuktikannya.
<!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>
Gambar ke-2,, tumblr_kxytwr7YzH1qajh4xo1_500.pngdiunduh tetapi tidak yang lain. Ini terbukti benar di Chrome (Alat pengembang) dan Firefox (Firebug).
Firefox dan Chrome (Ubuntu 9.10) tidak mengunduh gambar untuk kelas / id yang tidak diterapkan di DOM.
Ini mungkin tergantung pada platform dan browser.
Terkadang, itu tergantung persis apa artinya "tidak digunakan". Browser yang berbeda mendefinisikannya secara berbeda. Misalnya, di Firefox, gaya yang diterapkan pada <noscript>tag dianggap "tidak digunakan" dan karenanya, gambar apa pun tidak akan diunduh.
Chrome 26 (mungkin semua dari mereka, tidak yakin), tidak gambar Download CSS jika mereka diterapkan pada <noscript>elemen, bahkan ketika JS diaktifkan. (Namun tidak jelas bagi saya mengapa, mungkin ini bug?).
Ini tidak men-download gambar CSS diterapkan untuk unsur-unsur dalam satu <noscript>elemen, meskipun. (ini adalah perilaku yang diharapkan, tentu saja).
CSS:
noscript { background-image: url('always.png') 0 0 repeat; }
noscript p ( background-image: url('nojsonly.png') 0 0 repeat; }
HTML:
<noscript>The CSS background image of this NOSCRIPT-element will always be downloaded in Chrome. Will not be downloaded in Firefox</noscript>
<noscript><p>The CSS background image of this P-element won't be downloaded in Chrome or other browsers, unless JS is disabled</p></noscript>
Dalam hal ini, jika pengguna memiliki JS-diaktifkan, baik always.png dan otherbg.png-download di Chrome. Jika pengguna tidak tidak memiliki JS diaktifkan, maka hanya nojsonly.png download di Chrome.
Saya menggunakan teknik ini untuk mengukur tingkat lalu lintas dari pengguna yang tidak mengaktifkan JS, karena Google Analytics mengecewakan kami di sini. Saya lebih suka menggunakan gambar latar belakang CSS daripada <img...>tag normal , karena saya bekerja di bawah teori (belum diuji) bahwa bot cenderung mengambil gambar CSS daripada <img...>gambar, meninggalkan penghitungan yang lebih akurat untuk pengunjung manusia.
Menariknya, Chrome (setidaknya) akan mengunduh unused.png dalam contoh berikut:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<style type="text/css">
.unused {
background: url(unused.png) no-repeat;
}
.used {
background: url(used.png);
}
</style>
</head>
<body>
<div class="unused used">
hello world
</div>
</body>
</html>