2011-05-26 48 views
1

我正在JQuery中創建一個圖像瀏覽器插件。從本質上講,我的頁面上會有一個全尺寸的圖像,下面是一個包含可用圖像縮略圖的圖像卷軸。當用戶點擊縮略圖時,它將移動到全尺寸框。圖像加載到頁面上多少次?

我打算只是通過HTML/CSS縮放縮略圖,而不是存儲單獨的縮略圖文件。我的問題是,如果瀏覽器將所有圖像加載到縮略圖卷軸中,當它被推入全尺寸查看器時,是否必須重新加載每個圖像?

我知道一般情況下,答案是否定的 - 一旦瀏覽器下載了文件,它就可以使用。但是,我不只是使用靜態圖像。圖像上會發生一些預處理,所以我會通過PHP發送它們。

例如,我的縮略圖之一的src可能是www.mydomain.com/prepImage.php?id=1

然後

PHP會做一些處理並返回這樣的:

header("Content-Type: image/jpeg"); 
echo $StringifiedJPEGFile; 

像這樣從PHP返回文件會強制瀏覽器在每次將圖像源設置爲該鏈接時重新下載圖像?

回答

3

從PHP返回文件就像這樣強制瀏覽器每次將圖像源設置爲該鏈接時都重新下載圖像?

圖像每頁只能加載一次。即使如此,將取決於您發送的標題。

你可以調整最後修改的頭文件,expires頭文件,設置etag頭文件等,以便只在需要時重新加載。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

+0

它不應該在該用戶的會話中再次加載。這是默認的行爲? – jwegner 2011-05-26 13:05:56

+0

我相信是的,是的。 – 2011-05-26 13:11:52

0

無論圖像可以緩存依賴於瀏覽器設置和緩存控制頭。除此之外,任何圖像的處理方式都是相同的,無論它是從PHP還是其他內容加載。根據HTTP可以緩存GET請求。

0

你可以把它加入虛擬查詢字符串加載新的圖像,例如

<img src="my_image.php?a=432345" id="my_image" onclick="this.src='my_image.php?a=68945' " /> 

只是一個例子,使其每次新的,數量應該改變獨特。

+0

感謝您的提示!不過,我的目標是沒有圖像重新加載。 – jwegner 2011-05-26 13:04:09