以下のように Javascript とスタイルを使用して画像 (slide1.jpg、slide2.jpg、slide3.jpg ..、slide5.jpg) をロードする Ubuntu 12.04.1 でスライドショーを実行しています。
document.getElementById('slide_area').className='slide'+step;
.slide1{background-image: url(../upload/slide1.jpg)}
.slide2{background-image: url(../upload/slide2.jpg)}
.slide3{background-image: url(../upload/slide3.jpg)}
.slide4{background-image: url(../upload/slide4.jpg)}
.slide5{background-image: url(../upload/slide5.jpg)}
画像の名前 (show1.jpg、show2.jpg、show3.jpg ..、show5.jpg) を変更し、以下のようにスタイルを変更すると:
.slide1{background-image: url(../upload/show1.jpg)}
.slide2{background-image: url(../upload/show2.jpg)}
.slide3{background-image: url(../upload/show3.jpg)}
.slide4{background-image: url(../upload/show4.jpg)}
.slide5{background-image: url(../upload/show5.jpg)}
Chrome でネットワーク セクションを開くと、サーバーが画像の新しい名前と古い名前を呼び出していることがわかります。
index.php にヘッダーを追加しました。
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
imageObject.complete プロパティに応じて画像を順番に (1 つずつ) ロードするときにブラウザのキャッシュをクリアしても、画像の名前を変更するとスライドショーが正しく機能しません。しかし、名前を変更しなくても、すべてが完璧になり、画像がスムーズに読み込まれます!
ご協力ありがとうございました!