Adicionar um pop-up

Um pop-up é uma ação que mostra uma janela permitindo que os usuários invoquem vários recursos de extensão. Ela é acionada por um atalho de teclado ou clicando no ícone de ação da extensão. Os pop-ups são fechados automaticamente quando o usuário foca em alguma parte do navegador fora deles. Não há como manter o pop-up aberto depois que o usuário sair da página.

A imagem a seguir, tirada do exemplo Drink Water Event (em inglês), mostra um pop-up com as opções de timer disponíveis. Os usuários definem um alarme clicando em um dos botões.

Exemplo de pop-up.
Exemplo de pop-up.

Registre um pop-up no manifesto na chave "action".

{
 "name": "Drink Water Event",
 ...
 "action": {
   "default_popup": "popup.html"
 }
 ...
}

Implemente o pop-up da mesma forma que faria com qualquer outra página da Web. Qualquer JavaScript usado em um pop-up precisa estar em um arquivo separado.

<html>
 <head>
   <title>Water Popup</title>
 </head>
 <body>
     <img src="./stay_hydrated.png" id="hydrateImage">
     <button id="sampleSecond" value="0.1">Sample Second</button>
     <button id="min15" value="15">15 Minutes</button>
     <button id="min30" value="30">30 Minutes</button>
     <button id="cancelAlarm">Cancel Alarm</button>
   <script src="popup.js"></script>
 </body>
</html>

Também é possível criar pop-ups dinamicamente chamando action.setPopup().

chrome.storage.local.get('signed_in', (data) => {
  if (data.signed_in) {
    chrome.action.setPopup({popup: 'popup.html'});
  } else {
    chrome.action.setPopup({popup: 'popup_sign_in.html'});
  }
});