在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡安全  HTML/ 網(wǎng)頁背景圖片緩存問題

網(wǎng)頁背景圖片緩存問題

首先,有一個接口,每次請求會得到一個url鏈接

這個url對應的是一個圖片鏈接(例如:http://a.abc.cn/a.jpg

每天返回的是一張不同的鏈接,也就是不同的圖片,于是就達到了每天自動換背景的效果

那么問題來了,這個網(wǎng)頁每次加載都要重新請求一下這個接口(總之這做樣很不明智)

有沒有什么好的辦法讓這個請就結果緩存一下,當天再次加載網(wǎng)頁就可以不用請求呢?

然后第二天重復以上操作。。。

. . . .

Ps:只是個html,僅限原生js寫法

回答
編輯回答
六扇門

一、

重點在于,圖片地址是不是你可以控制的。如果是你可以控制的,那簡單了,甚至不用JS,直接通過圖片地址實現(xiàn)。

background:url(/xiaoming-2018-03-13.png)

在圖片鏈接中加一個日期變量,然后圖片設置超過一天以上的緩存時間就好了。

二、

如果是拿別人的圖片,圖片地址不能控制。

那就像 @圣人惠好可愛 同學說的,用 cookie 把圖片地址保存起來,cookie 有效期到當天晚上12點整。

2018年7月8日 08:17
編輯回答
尛曖昧

圖片不大的話,可以用base64做緩存

2017年4月10日 11:54
編輯回答
不歸路

樓上的方法都不可行。如果瀏覽器設置了每次打開都從原地址重新加載的話(換句話說,此時瀏覽器關閉后會清空緩存的文件),你設置了不加載那么顯示的將是一片空白,因為圖片被瀏覽器刪了。

正確的做法是同時考慮瀏覽器緩存和代碼緩存。當瀏覽器的緩存開啟的時候,盡量不重復加載;而當瀏覽器的緩存關閉的時候,就必須要重新加載了。

實現(xiàn)方法也很簡單,給地址加一個時間參數(shù),時間精確到天,比如原地址為:

http://www.example.com/a.jpg

加上時間參數(shù):

http://www.example.com/a.jpg?...

這樣一來,在今天(13號),所有請求的地址都是一樣的,如果用戶的瀏覽器開啟了緩存,那么瀏覽器就會自動從緩存加載該圖片。而如果用戶過了一天再訪問的時候,請求地址就會變?yōu)椋?/p>

http://www.example.com/a.jpg?...

由于地址改變了,所以無論瀏覽器有沒有開啟緩存,都會重新加載。

2018年6月2日 04:06
編輯回答
青瓷

設置一個cookie,有效期為晚上0點減去當前時間,如果存在cookie就不請求,第一次請求添加一個cookie

2017年7月2日 12:44