service worker能做的事情很多,通過在其生命週期內自定義響應過程可以做到:
1.資源快取控制
2.實現離線頁面
3.版本更迭
...要注意的幾點是:
1.出於安全原因,service worker只能在https下執行。
2.需要確保service worker自身的即時更新。
最重要的一點是:你需要在熟悉service worker生命週期的前提下定義你的service worker行為
mdn這裡貼上自己的**作為參考,注釋已經解釋的挺詳細的了。
var cache_version = null;
var curr_caches = null;
var urlstocache = null;
// 處理訊息
self.addeventlistener('message', function (event) ;
urlstocache = "/" + cache_version;
console.log("sw 設定當前快取版本號: " + curr_caches.ver);
event.ports[0].postmessage();
// 刪除所有不在curr_caches內的快取
if (curr_caches) );
event.waituntil(
caches.keys().then(function(cachenames)
}));
}));
}}});
//安裝完成後觸發
self.addeventlistener('install', function(event) );
self.addeventlistener('activate', function(event) );
self.addeventlistener('fetch', function(event)
event.respondwith(
caches.match(event.request)
.then(function(response)
//否則返回預設的網路請求
//因為請求和響應流只能被讀取一次。為了給瀏覽器返回響應以及把它快取起來,需要轉殖乙份
var fetchrequest = event.request.clone();
return fetch(fetchrequest).then(
function(response)
var responsetocache = response.clone();
//新加入快取
if(curr_caches && curr_caches.ver));
}return response;});
}));
});
使用GraphEdit使用
1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....
MySQL使用學習使用 mysql學習使用
1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...
學習使用CSDN markdown使用
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...