Tengo un archivo manifest.json que tiene este aspecto:¿Por qué chrome.extension.getBackgroundPage() devuelve nulo?
{
"name": "Zend Debugger Extension",
"version": "0.1",
"background_page": "background.html",
"permissions": [
"cookies", "tabs", "http://*/*", "https://*/*"
],
"browser_action": {
"default_title": "Launch Zend Debugger",
"default_icon": "icon.png",
"popup": "popup.html"
}
}
Aquí es mi background.html:
<html>
<script>
function testRequest() {
console.log("test Request received");
}
</script>
</html>
Y mi popup.html:
<script>
function debug(target) {
if (target.id == 'thisPage') {
console.log('sending request');
chrome.extension.getBackgroundPage().testRequest();
}
}
</script>
<div onclick="debug(this)" id="thisPage">Current Page</div>
Sin embargo, el background.html página parece no ser accesible. Estoy recibiendo este error:
Uncaught TypeError: Cannot call method 'testRequest' of null
Cuando examino chrome.extension.getBackgroundPage()
puedo obtener un valor nulo. Estoy pensando que cometí un error en mi archivo manifiesto, pero no veo lo que hice mal.
Gracias.
He intentado añadir el permiso de fondo, pero aún así obtener nula cuando se trata chrome.extension.getBackground () y el mismo error cuando se ejecuta el script. De hecho, pensé que el permiso de fondo estaba relacionado con si la extensión todavía se ejecuta en segundo plano cuando todas las pestañas están cerradas: http://code.google.com/chrome/extensions/manifest.html#permissions – AntBrown
¿Estás seguro de que tienes el fondo? html en la misma carpeta que todos los archivos de la extensión chrome ?, y si es así, intenta volver a cargar tu extensión desde la página de administración de extensiones, recuerdo que una vez tuve un error que mi extensión no recargó, así que fui a las herramientas del desarrollador para mi página de fondo y ejecutado window.location.reload (true); desde la consola, eso lo solucionó. Por favor responda si esto funcionó, seguiré investigando. – ElHacker
Recargar la extensión solucionó el problema getBackgroundPage() = null. Gracias. – AntBrown