【網站建設】applicationCache對象的事件

2016-09-08 1172 2 編輯:深色多郎 來源:程序網站設計

applicationCache對象處理具有update方法與swapCache方法之外,在大品牌網站建設中,還具有一系列的事件。下面用過前面講過的瀏覽器與服務器的交互過程來看一下在這個過程中的這些事件是如何被觸發的。

首次訪問http://localhost:82/mr/網站。

(1)瀏覽器:請求訪問http://localhost:82/mr/。

(2)服務器:返回index.html網頁。

(3)瀏覽器:發現該網頁具有manifest屬性,觸發checking事件,檢查manifest文件是否存在。不存在時,觸發error事件,表示manifest文件未找到,同時也不執行步驟(6)開始的交互過程。

(4)瀏覽器:解析index.html網頁,請求網頁上所有資源文件。

(5)服務器:返回所有資源文件。

(6)瀏覽器:處理manifest文件,請求manifest中所有要求本地緩存的文件,包括index.html頁面,即使剛才已經請求過該文件。如果要求本地緩存所有文件,這將是一個比較大的重復的請求過程。

(7)服務器:返回所有要求本地緩存文件。

(8)瀏覽器:觸發downloading事件,然后開始下載這些資源。在下載的同時,周期性地觸發progress事件,開發人員可以用編程的手段獲取多少文件已被下載,多少文件仍然處于下載隊列中等信息。

(9)下載結束后觸發cached事件,表示首次緩存成功,存入所有要求本地緩存的資源文件。

再次訪問http://localhost:82/mr/網站,步驟(1)~(5)同上,在步驟(5)執行完之后,瀏覽器將核對manifest文件是否被更新,若沒有被更新,觸發noupdate事件,步驟(6)開始的交互過程不會被執行。如果被更新了,將繼續執行后面的步驟,在步驟(9)中不觸發cached事件,而是觸發updateReady事件,這表示下載結束,可以通過刷新頁面來使用更新后的本地緩存,或調用swapCache方法來立刻使用更新后的本地緩存。

另外,在訪問緩存名單是如果返回一個HTTP404錯誤(頁面未找到)或者410錯誤(永久消失),則觸發obsolete事件。

在整個過程中,如果任何與本地緩存有關的處理中發生錯誤的話,都會觸發error事件。可能會觸發error事件的情況分為以下幾種。

緩存名單返回一個HTTP404錯誤(頁面未找到)或者410錯誤(永久消失)。

緩存名單被找到且沒有更改,但引用緩存名單的HTML頁面不能正確下載。

緩存名單被找到被更改,但瀏覽器不能下載某個緩存名單中列出的資源。

開始更新本地緩存時,緩存名單再次被更改。

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾 辽宁台快乐麻将规则 怎样从vr赚钱 v8彩票网址 手游直播哪个平台赚钱 海王捕鱼2 抖音开直播靠什么赚钱 大圣捕鱼手机版官方网站 试玩赚钱app排行榜6 博金冠彩票安卓 广告宝靠什么赚钱的 征途家族资金怎么赚钱 丫丫湘西麻将官网 现在开出租车的赚钱吗 迪士尼彩乐园网址 以太币赚钱模式 1000倍捕鱼游戏下载