我正在閱讀ServiceWorker入門文檔https://developers.google.com/web/fundamentals/getting-started/primers/service-workers。瞭解ServiceWorker註冊
所以首先我們註冊我們的ServiceWorker的範圍。所以我做了如下
<!DOCTYPE html>
<html>
<head>
<title>Getting started with Service Worker</title>
</head>
<body>
<script type="text/javascript">
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
</script>
</body>
</html>
,並創建了一個sw.js文件,並寫了一個內部的console.log sw.js
console.log("This is sw.js")
所以,當我訪問index.html文件中的第一次,該console.log被執行並且ServiceWorker註冊成功消息被打印。但是,當我第二次刷新頁面時,它僅打印成功的ServiceWorker註冊消息。那麼爲什麼它沒有第二次在sw.js中執行console.log。我期待它第二次執行console.log。我在這裏錯過了點嗎?
只是FWIW,有時人們得到[在職職工(https://www.w3.org/ TR/service-workers-1 /)和通用[web工作者](https://www.w3.org/TR/workers/)混淆。你確定你想要一個服務工作者爲你做什麼?服務工作者是一種特殊的網絡工作者,用於管理頁面資源(例如離線應用程序)。 –