首先,有一個接口,每次請求會得到一個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點整。
樓上的方法都不可行。如果瀏覽器設置了每次打開都從原地址重新加載的話(換句話說,此時瀏覽器關閉后會清空緩存的文件),你設置了不加載那么顯示的將是一片空白,因為圖片被瀏覽器刪了。
正確的做法是同時考慮瀏覽器緩存和代碼緩存。當瀏覽器的緩存開啟的時候,盡量不重復加載;而當瀏覽器的緩存關閉的時候,就必須要重新加載了。
實現(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?...
由于地址改變了,所以無論瀏覽器有沒有開啟緩存,都會重新加載。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。