Chrome extension – Como utilizar o chrome.tabs ao programar um plugin para o Google Chrome/Chromium

image_pdfimage_print

Por vezes, programadores desavisados tentam fazer uso do chrome.tabs mas sempre encontram o erro de chrome.tabs is undefined.

E como resolver este problema?

O primeiro passo é verificar o manifest.json. Ele deve conter a permissão tabs, conforme exemplo abaixo:

  "permissions": [
     (...)
     ,"tabs"
     ,(...)
  ]

(…) no código acima se refere a outras permissões que podem estar antes ou depois. A ordem não importa.

Caso o erro permaneça, é hora de verificar outro ponto muito importante.

chrome.tabs não estará disponível no código da área “content script”. Verifique portanto se seu código está rodando nesta área. Estando, será necessário mudá-lo para fazer uso desta api. Mova o código para a área “background”.

Lá esta api estará disponível e poderá ser utilizada praticamente sem restrições.

Caso precise de comunicação de dados entre o “content script” e o “background”, verifique como enviar mensagens com chrome.runtime.sendMessage e como receber com chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {});

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!