Os service workers são ótimos para muitas finalidades: velocidade, off-line, controle de cache e muito mais. O senhor pode ver muitos exemplos de uso de service workers de código no site Livro de receitas do service worker, se o senhor estiver interessado. Uma dessas receitas, Reivindicação imediataé tão importante e útil quanto fornece uma maneira de reivindicar seu service worker mais rapidamente, o que significa que o senhor pode receber eventos de busca mais rapidamente.


O senhor pode comparar o seguinte código de aceleração com DOMContentLoaded (comumente conhecido como domready) vs. o antigo load o processamento é iniciado mais rapidamente. O truque envolve o evento install e activate eventos:



// Install event - cache files (...or not)
// Be sure to call skipWaiting()!
self.addEventListener('install', function(event) {
  event.waitUntil(
	caches.open('my-cache').then(function(cache) {
        // Important to `return` the promise here to have `skipWaiting()`
        // fire after the cache has been updated.
        return cache.addAll([/* file1.jpg, file2.png, ... */]);
    }).then(function() {
      // `skipWaiting()` forces the waiting ServiceWorker to become the
      // active ServiceWorker, triggering the `onactivate` event.
      // Together with `Clients.claim()` this allows a worker to take effect
      // immediately in the client(s).
      return self.skipWaiting();
    })
  );
});

// Activate event
// Be sure to call self.clients.claim()
self.addEventListener('activate', function(event) {
	// `claim()` sets this worker as the active worker for all clients that
	// match the workers scope and triggers an `oncontrollerchange` event for
	// the clients.
	return self.clients.claim();
});


Em última análise, o retorno do skipWaiting() do install aciona o evento activate ativando o service worker imediatamente e permitindo que o service worker trabalhe com o fetch e outros recursos do service worker. Os service workers precisam de um evento de navegação (recarregar a página, ir para uma nova página etc.) para serem ativados, e é por isso que esse truque é tão útil.


Aguarde mais dicas e exemplos de trabalhadores de serviços no blog nos próximos meses!

  • Como parei com o spam de comentários do WordPress

    Adoro quase todas as partes de ser um blogueiro de tecnologia: aprender, pregar, brincar, pesquisar. A única parte do blog que eu absolutamente detesto: lidar com comentários de SPAM. Nos últimos dois anos, meu blog registrou mais de 8.000 comentários de SPAM por dia. POR DIA. Inchando meu banco de dados…

  • Tags META do Facebook Open Graph

    Não é segredo que o Facebook se tornou um importante gerador de tráfego para todos os tipos de sites. Hoje em dia, até mesmo as grandes corporações direcionam os consumidores para suas páginas do Facebook, em vez de para os sites corporativos diretamente. E, é claro, há widgets “Curtir” e “Recomendar” do Facebook em todos os sites. Um…

  • Carregamento dinâmico de folhas de estilo com o MooTools 1.2

    A criação de temas se tornou uma grande parte da revolução da Web 2.0. Felizmente, o mesmo aconteceu com uma maior consideração pela semântica e pelos padrões de CSS. Se o senhor criar suas páginas usando um bom código XHTML, alterar um arquivo CSS pode fazer com que seu site tenha uma aparência completamente diferente.

  • Empilhamento de índice Z de arrastar e soltar