• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    JavaScript中的緩存API

    2020-7-8    seo達人

    了解如何使用JavaScript中的Cache API緩存資源。


    Cache API允許服務工作者對要緩存的資源(HTML頁面、CSS、JavaScript文件、圖片、JSON等)進行控制。通過Cache API,服務工作者可以緩存資源以供脫機使用,并在以后檢索它們。


    檢測Cache支持

    檢查 caches 對象在 window 中是否可用。


    let isCacheSupported = 'caches' in window;

    caches 是 CacheStorage 的一個實例。


    創建/初始化Cache

    我們可以使用 open 方法創建一個具有 name 的緩存,這將返回 promise。如果緩存已經存在,則不會創建新的緩存。


    caches.open('cacheName').then( cache => {

    });

    你不能訪問為其他源(域)設置的緩存。

    你正在創建的緩存將為你的域創建。

    你可以為同一個域添加多個緩存,可以通過 caches.keys() 訪問。

    將項目添加到緩存

    可以使用三種方法 add,addAll,set 來緩存資源。 add() 和 addAll() 方法自動獲取資源并對其進行緩存,而在 set 方法中,我們將獲取數據并設置緩存。


    add

    let cacheName = 'userSettings';

    let url = '/api/get/usersettings';

    caches.open(cacheName).then( cache => {

      cache.add(url).then( () => {

          console.log("Data cached ")

       });

    });

    在上面的代碼中,內部對 /api/get/usersettings url的請求已發送到服務器,一旦接收到數據,響應將被緩存。


    addAll

    addAll 接受URL數組,并在緩存所有資源時返回Promise。


    let urls = ['/get/userSettings?userId=1', '/get/userDetails'];

    caches.open(cacheName).then( cache => {

    cache.addAll(urls).then( () => {

          console.log("Data cached ")

       });

    });

    Cache.add/Cache.addAll 不緩存 Response.status 值不在200范圍內的響應,Cache.put 可以讓你存儲任何請求/響應對。


    put

    put 為當前的 Cache 對象添加一個key/value對,在 put 中,我們需要手動獲取請求并設置值。


    注意:put() 將覆蓋先前存儲在高速緩存中與請求匹配的任何鍵/值對。


    let cacheName = 'userSettings';

    let url = '/api/get/userSettings';

    fetch(url).then(res => {

     return caches.open(cacheName).then(cache => {

       return cache.put(url, res);

     })

    })

    從緩存中檢索

    使用 cache.match() 可以得到存儲到URL的 Response。


    const cacheName = 'userSettings'

    const url = '/api/get/userSettings'

    caches.open(cacheName).then(cache => {

     cache.match(url).then(settings => {

       console.log(settings);

     }

    });

    settings 是一個響應對象,它看起來像


    Response {

     body: (...),

     bodyUsed: false,

     headers: Headers,

     ok: true,

     status: 200,

     statusText: "OK",

     type: "basic",

     url: "https://test.com/api/get/userSettings"

    }

    檢索緩存中的所有項目

    cache 對象包含 keys 方法,這些方法將擁有當前緩存對象的所有url。


    caches.open(cacheName).then( (cache) => {

     cache.keys().then((arrayOfRequest) => {

         console.log(arrayOfRequest); // [Request,  Request]

     });

    });

    arrayOfRequest是一個Request對象數組,其中包含有關請求的所有詳細信息。


    檢索所有緩存

    caches.keys().then(keys => {

     // keys是一個數組,其中包含鍵的列表

    })

    從緩存中刪除項目

    可以對 cache 對象使用 delete 方法來刪除特定的緩存請求。


    let cacheName = userSettings;

    let urlToDelete = '/api/get/userSettings';

    caches.open(cacheName).then(cache => {

     cache.delete(urlToDelete)

    })

    完全刪除緩存

    caches.delete(cacheName).then(() => {

      console.log('Cache successfully deleted!');

    })

    藍藍設計www.lzhte.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.lzhte.cn

    存檔

    主站蜘蛛池模板: 五月天婷婷一区二区三区久久| 成人在线网址| 伊在人亚洲香蕉精品区| 亚洲综合91社区精品福利| 一区二区三区四区精品国产| 欧美人与物videos另类一| 国产中文字幕精品免费| 亚洲中文字幕综合一区| 久久午夜福利| 国产三级自拍视频在线| 亚洲精品一区二区中文字幕| 亚洲中文精品一区二区| 中文字幕无码专区一VA亚洲V专| 超碰成人网| 亚洲av无码一区东京热| 蜜臀亚洲精品国产aⅴ综合第一| 夜色福利导航| 亚洲午夜精品成人在线| 伊人久久综合精品无码AV专区| 人人妻人人澡人人爽人人精品97| 久久国产乱子伦精品免费看| 5g影院天天看5g天天爽| 无码熟妇人妻AV影片在线| 在线视频 亚太 国产 欧美 一区二区| 国内综合精品午夜久久资源| 欧美黄片日韩亚洲一三级片一区| 国内精品久久久久影院免费| 无码人妻久久一区二区三区蜜桃 | 苍井空一区二区三区在线观看| 国产成人亚洲欧美激情| 中文无码一区二区视频在线播放量| 四虎库影成人在线播放| 国产成人精品日本亚洲第一区| 日韩网站免费观看高清完整版在线观看 | 国产精品自拍一区视频在线观看| 草莓视频在线观看无码免费| 丰满少妇被猛烈进出69影院| 国产一本一道久久香蕉下载 | 禹州市| 欧美肏屄视频| 欧美另类精品一区二区三区|