搭建本地服務(wù)器驗(yàn)證iOS系統(tǒng)瀏覽器圖片緩存問(wèn)題

作為客戶端開(kāi)發(fā),經(jīng)常需要驗(yàn)證服務(wù)端數(shù)據(jù)改變后本地app的行為,就拿最近遇到的一個(gè)問(wèn)題:webview打開(kāi)的網(wǎng)頁(yè)頁(yè)面,后臺(tái)更新圖片后,webview打開(kāi)后還是之前的頁(yè)面,圖片沒(méi)有更新,納尼!我得自己驗(yàn)證下,說(shuō)干就干,但是怎么替換圖片然后驗(yàn)證呢,總不能每次都找后臺(tái)同學(xué)去換圖片,還是得自己想辦法,二話不說(shuō)就搞起:

1.搭建本地服務(wù)器:

Mac默認(rèn)安裝了Apache的,因此只需要打開(kāi)Terminal,啟動(dòng)服務(wù):

//開(kāi)啟apache: ? ? ? ? sudo apachectl start

//重啟apache: ? ? ? ? sudo apachectl restart

//關(guān)閉apache: ? ? ? ? ?sudo apachectl stop

然后在瀏覽器里輸入localhost或者localhost:80(注意:不要輸入localhost:8080),如果出現(xiàn)如下提示,則證明啟動(dòng)成功。(注意:如果沒(méi)有用命令啟動(dòng),直接鍵入localhost:80也會(huì)出現(xiàn)it works!,但是服務(wù)其實(shí)是沒(méi)有啟動(dòng),這點(diǎn)需要注意下)

2.部署本地網(wǎng)頁(yè)資源:

Apache存放資源的路徑是:/Library/WebServer/Documents,把自己的網(wǎng)頁(yè)和資源放進(jìn)去就可以打開(kāi)了。本地apache服務(wù)器上的資源目錄如下:

3.創(chuàng)建工程項(xiàng)目進(jìn)行測(cè)試:

為了簡(jiǎn)單起見(jiàn),我只寫(xiě)一個(gè)簡(jiǎn)單的first.html文件,該文件中有個(gè)image標(biāo)簽;iOS工程直接xcode創(chuàng)建即可,需要查看工程的我在后面打包上傳了工程,該工程有兩個(gè)頁(yè)面:

頁(yè)面一:只有一個(gè)button


頁(yè)面二:一個(gè)webview控件,一個(gè)wkwebview控件


4.開(kāi)始測(cè)試:

關(guān)于解決網(wǎng)頁(yè)緩存問(wèn)題,具體操作方式參見(jiàn)www.zhihu.com/question/27040218,通過(guò)meta標(biāo)簽修改html文件的方式不能保證所有的瀏覽器都沒(méi)問(wèn)題,不是全面的解決方案;通過(guò)對(duì)圖片文件做版本控制的方法也能解決問(wèn)題,但是需要后臺(tái)實(shí)時(shí)變更圖片文件名稱,也不太完美,秉承能自己搞定的問(wèn)題就不麻煩別人的原則,這里從ios端入手解決。

1)嘗試1:代碼如下

修改apache中的圖片資源,發(fā)現(xiàn)確實(shí)是圖片還是之前的圖片。

2)嘗試2:代碼如下

修改apache中的圖片資源,發(fā)現(xiàn)圖片可以實(shí)時(shí)更新。問(wèn)題解決?。?!好開(kāi)心是不是~



總結(jié):通過(guò)設(shè)置webview不讀緩存可以解決緩存不能及時(shí)更新的問(wèn)題,對(duì)于簡(jiǎn)單頁(yè)面來(lái)說(shuō)可以這樣使用;但是對(duì)于復(fù)雜的頁(yè)面,每次進(jìn)入頁(yè)面都要重新加載數(shù)據(jù),用戶體驗(yàn)可能不好。最徹底的解決辦法還是需要在h5頁(yè)面對(duì)資源做版本控制,這樣在每次更新資源的時(shí)候,都能第一時(shí)間來(lái)加載最新資源。

最后上傳下xcode工程。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評(píng)論 25 709
  • 如果你使用的是mac 系統(tǒng),很榮幸的告訴你的系統(tǒng)自帶Apache服務(wù)器,查看自己當(dāng)前系統(tǒng)下是否安裝好了該服務(wù)器,輸...
    gogoingmonkey閱讀 2,005評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 這是一場(chǎng)屬于我的雨 這雨滴夾雜著我的歸意 我想淋淋這場(chǎng)雨 我想借助這雨淋淋我的無(wú)能為力 淋著人生夢(mèng) 希望淋醒夢(mèng)中的...
    情魔七殤閱讀 165評(píng)論 1 0
  • 用在某個(gè)瞬間,看到某人,感覺(jué)認(rèn)識(shí)很久,可是仔細(xì)思索自己認(rèn)識(shí)的人里好像沒(méi)有
    一方01閱讀 122評(píng)論 0 0

友情鏈接更多精彩內(nèi)容