2017-05-24 99 views
1

我有一個網頁發送消息到服務工作者腳本。爲了能夠做到這一點,網頁需要成爲服務器工作者腳本的客戶端。 有不同的方法來做到這一點,但據我所知,所有的方法導致客戶端的網頁緩存在服務工作者。如何不緩存服務器工作者客戶端

我想知道是否有可能網頁可以發送消息到服務器工作人員腳本,而不必將其緩存到服務器工作人員?

回答

2

當然 - 並不要求服務工作者緩存任何內容,甚至不需要服務工作人員實施處理程序並攔截網絡請求。你可以創建只具有message處理程序,從它控制的網頁偵聽傳入消息的服務人員:

// service-worker.js: 
self.addEventListener('message', event => { 
    // Do something with event.data 
}); 

但是,如果你僅僅使用一個服務人員來監聽消息,而不是攔截網絡請求,我想知道像SharedWorker這樣的替代品還是僅僅是簡單的香草Worker會是更好的選擇嗎?