Código de extensão do Chrome vs scripts de conteúdo vs scripts injetados

Estou tentando fazer com que minha extensão do Chrome execute a funçãoinit() sempre que uma nova página for carregada, mas estou tendo problemas para tentar entender como fazer isso. Pelo que entendi, preciso fazer o seguinte em background.html:

Usarchrome.tabs.onUpdated.addListener() para verificar quando a página é alteradaUsarchrome.tabs.executeScript para executar um script.

Este é o código que tenho:

//background.html
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    chrome.tabs.executeScript(null, {code:"init();"});
});

//script.js
function init() {
    alert("It works!");
}

Também estou imaginando se a função init () terá acesso às minhas outras funções localizadas em outros arquivos J

questionAnswers(2)

yourAnswerToTheQuestion