當前位置:首頁 » 文件管理 » 清空iframe的緩存

清空iframe的緩存

發布時間: 2024-09-02 03:04:15

❶ html5新增了離線緩存機制這說法對嗎

這個不算是 新增吧。

隨著現代瀏覽器的推動,Flash放棄對移動端的支持,HTML5無疑成為當前Web前端炙手可熱的話題。各大游戲開發商、App開發商紛紛投入人力進行研究和技術儲備。相信不久的將來,HTML5會迎來一個快速發展和普及的春天。那麼,HTML5這個新一代的標准,又給我們帶來哪些緩存機制呢?

HTML5 之離線應用Manifest
我們知道,使用傳統的技術,就算是對站點的資源都實施了比較好的緩存策略,但是在斷網的情況下,是無法訪問的,因為入口的HTML頁面我們一般運維的考慮,不會對其進行緩存。HTML5的Cache Mainifest離線應用特性就能夠幫助我們構建離線也能使用的站點,所有的資源都使用瀏覽器本地緩存,當然前提是要求在聯網的情形下使用過一次站點。
如何實現離線訪問特性
實現的步驟非常簡單,主要3個步驟:
1)在伺服器上添加MIME TYPE支,讓伺服器能夠識別manifest後綴的文件
AddType text/cache-manifest manifest
2)創建一個後綴名為.manifest的文件,把需要緩存的文件按格式寫在裡面,並用注釋行標注版本
CACHE MANIFEST
# 直接緩存的文件
CACHE:
Path/to/cache.js
# version:2012-03-20
3)給 <html> 標簽加 manifest 屬性,並引用manifest文件
具體可以參考:HTML5 緩存: cache manifest
<html manifest=」path/to/name-of.manifest」>
離線應用訪問及更新流程
第一次訪問離線應用的入口頁HTML(引用了manifest文件),正常發送請求,獲取manifest文件並在本地緩存,陸續拉取manifest中的需要緩存的文件
再次訪問時,無法在線離線與否,都會直接從緩存中獲取入口頁HTML和其他緩存的文件進行展示。如果此時在線,瀏覽器會發送請求到伺服器請求manifest文件,並與第一次訪問的副本進行比對,如果發現版本不一致,會陸續發送請求重新拉取入口文件HTML和需要緩存的文件並更新本地緩存副本
之後的訪問重復第2步的行為
離線機制的緩存用途
從Manifest的機制來看,即使我們不是為了創建離線應用,也同樣可以使用這種機制用於緩存文件,可以說是給Web緩存提供多一種可以選擇的途徑。
存在的問題:緩存文件更新控制不靈活
就目前HTML5提供的manifest機制來講,一個頁面只能引用一個manifest頁面,而且一旦發現這個manifest改變了,就會把裡面所有定義的緩存文件全部重新拉取一遍,不管實際上有沒有更新,控制比較不靈活。針對這個問題,也有的同學提出了一些建議,比如把需要緩存的文件分模塊切分到不同manifest中,並分開用HTML引用,再使用強大的iframe嵌入到入口頁面,這樣就當某一個模式需要有更新,不會導致其他模塊的文件也重新拉取一遍。

HTML5 之本地存儲localstorage
HTML5給我們提供本地存儲localstorage特性,嚴格來講,其實已經不算傳統Web緩存的范疇。因為它存儲的地方是跟Web緩存分開的,是瀏覽器重新開辟的一個地方。
localstorage的作用
本地存儲localstorage的作用主要使Web頁面能夠通過瀏覽器提供的set/get介面,存儲一些自定義的信息到本地硬碟,並且在單次訪問或以後的訪問過程中隨時獲取或修改。
Localstorage的使用
Localstorage提供了幾個非常易用的Api,setItem/getItem/removeItem/clear,具體的可以參考:Html5 Step by Step(二) 本地存儲
Localstorage的緩存用途
Localstorage設計的本意可能是用來存儲一些用戶操作的個性化設置的文本類型的信息和數據,當我們其實也可能拿來當Web緩存區使用,比如我們可以將Base64格式編碼的圖片信息,存在localstorage中,再次訪問時,直接本地獲取後,使用Css3的Data:image的方式直接展現出來。
存在的問題:大小限制
按照目前標准,目前瀏覽器只給每個獨立的域名提供5m的存儲空間,當存儲超過5m,瀏覽器就會彈出警告框。

可以說,HTML5的Manifest和localstorage是給我們在考慮Web緩存的時候提供了多一種思路,當你開發的應用只面對現代瀏覽器的時候,不妨可以考慮一下

❷ js 前端過濾器 實現圖片緩存與版本控制更新的功能

兄台多慮了,以我個人見解,這個功能應該是前端js搞不定,你js什麼時候載入就是個問題,第二個問題就是js也檢測不到網路請求,那是瀏覽器乾的事。
但是針對緩存這事,一個是在服務端設置,也就少web服務或者少CDN那設置緩存。很多情況下,圖片,css都是默認緩存的,你打開開發者工具之後確保禁用緩存的復選框取消,你刷新一下,看看那圖片、css是不是就是304狀態。

❸ 請問通過iframe內嵌的jsp在ie緩存裡面找不到啊,如何才能看到這個jsp返回到客戶的html呢

內嵌的JSP,在頁面顯示么?如果顯示的話,左鍵點內嵌JSP的顯示區域,查看源文件就成了。
如果不顯示的話,你是開發人員么?是的話,把iframe的width 和height改為大於100,就可以讓內嵌JSP顯示出來了呀。。。
如果都不是,那麼,你總可以把iframe裡面的JSP的路徑找出來吧?找出來以後,把那個地址打入當前頁面的IE地址欄,或者新建標簽,復制粘貼進去,就可以看到返回給客戶的html了。。。

不知道我說清楚沒有。看你提的問題,應該上面的這些方法能用得上。。。
如果還是有疑問,可以CALL我。。。一起研究看看。。。

天天開心。。。
:)

❹ iframe子頁面訪問過後相應js 緩存在瀏覽器,怎麼不緩存

這兩天遇到一個很奇怪的問題,一個頁面嵌套了一個iframe頁面,當這個頁面提交後再次跳轉到本頁面時,原本iframe內的頁面應該刷新數據的,結果在ie下面卻沒刷新(FF下沒問題),必須手動F5或者新開一個瀏覽器標簽頁瀏覽才能刷新,否則在本頁面的瀏覽器上按回車是沒用的,查閱了很多資料,最後終於發現是iframe緩存機制在搞鬼,用以下方法即可解決:

<script type="text/JavaScript">
var randomnumber=Math.floor(Math.random()*100000)

document.write('
<iframe src="http://www.freedonation.com/hunger/hunger_thankyou.php3?randomnumber='+randomnumber+'" name="aframe" width="100%" height="400"></iframe>')

</script>

通過請求多加一個值為隨機數的參數,這樣瀏覽器認為每次請求的頁面都是新的而保證了iframe頁面每次都是重新載入的。

0


0

熱點內容
如何清理qq存儲空間vivo 發布:2025-01-13 14:35:28 瀏覽:363
存儲部件是 發布:2025-01-13 14:35:26 瀏覽:189
原生跑演算法 發布:2025-01-13 14:28:36 瀏覽:955
如何從華為手機上設置鎖屏密碼 發布:2025-01-13 14:28:35 瀏覽:370
視酷聊天源碼 發布:2025-01-13 14:22:55 瀏覽:277
源碼輸出電視盒 發布:2025-01-13 14:16:54 瀏覽:172
D演算法求矩陣 發布:2025-01-13 14:16:20 瀏覽:136
商城前端源碼 發布:2025-01-13 14:08:43 瀏覽:48
每個人身上都有密碼是什麼 發布:2025-01-13 14:08:40 瀏覽:472
怎麼看java 發布:2025-01-13 13:54:18 瀏覽:10