2013-10-22 31 views
1

我運行加載圖像在Ubuntu 12.04.1幻燈片(slide1.jpg,slide2.jpg,slide3.jpg ..,slide5.jpg)使用Javascript和樣式如下:爲什麼更改服務器上的圖像名稱導致調用舊的?

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屬性!但是,不改變名稱,一切都會變得完美,並且圖像能夠順利加載!

謝謝你的幫助!

+0

可能是一個愚蠢的問題,但你實際上重新加載頁面所做的名稱更改後? –

+0

@Mike Thomsen:是的,我重新加載了頁面,並沒有工作!不是一個愚蠢的問題! – moderns

+0

我會改變文件的名稱,使它現在工作。 – Tito

回答

0

我已經解決了這個問題,購買從服務器調用圖像一次,而不是每次都來查看調用它,也就是我說的圖像文件中,然後加入一個src每一個(ONCE的 - 這意味着調用他們一次從服務器),然後每次重複,我顯示一個圖像,並隱藏其他人!因爲如果我在查看時給每個圖像添加一個src,那麼當服務器請求查看上次調用的圖像是否已被修改(304響應)時,服務器可能會很慢,並且這會導致視圖延遲!謝謝:)

0

你的問題不是很清楚,但我認爲這是這是越來越緩存CSS文件。嘗試更改CSS文件的名稱!

+0

幻燈片顯示非常簡單,我在這裏添加了所有細節!我將嘗試更改CSS文件的全名並查看!謝謝! – moderns

+0

你的意思是「服務器正在調用圖像的新名稱和舊名稱」?你必須得到每個圖像對應的唯一一個請求 – Shamps

+0

我的意思是我看到新舊名稱的請求,如: 請求1 ... slide1.jpg 請求2 ... show1.jpg 請求3 ... slide2.jpg 請求4 ... show2.jpg 。 。 。 。 – moderns

1

按Ctrl + F5可以解決你的問題,因爲瀏覽器往往緩存靜態文件如CSS/JavaScript和圖像。

+0

謝謝,但我的用戶不會按Ctrl + F5!任何其他解決方案,使其在我的用戶工作結束? – moderns

+1

您可以使用HTML清除緩存:http:// stackoverflow。com/questions/1922910/force-browser-to-clear-cache - 然而這會在每一頁加載時執行。如果這是一個你正在開發的網站,你應該在本地工作,直到一切正常,然後將其上傳到用戶不會有任何討厭的經歷。 – SidOfc

+0

但我需要瀏覽器加載圖片第一次加載,然後對於下次訪問,我需要從緩存中加載圖像!任何解決方法?我現在在一臺真正的服務器上工作,並且需要儘快與網站合作。有什麼建議麼? – moderns

相關問題