Código de extensión de Chrome vs scripts de contenido vs scripts inyectados

Estoy intentando que mi extensión de Chrome ejecute la funcióninit() cada vez que se carga una nueva página, pero tengo problemas para tratar de entender cómo hacerlo. Por lo que entiendo, necesito hacer lo siguiente en background.html:

Utilizarchrome.tabs.onUpdated.addListener() para comprobar cuándo se cambia la páginaUtilizarchrome.tabs.executeScript para ejecutar un script.

Este es el código que tengo:

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

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

¿También me pregunto si la función init () tendrá acceso a mis otras funciones ubicadas en otros archivos JS?

Respuestas a la pregunta(2)

Su respuesta a la pregunta