2012-08-03 12 views
21

Quiero saber cómo insertar una imagen en una extensión de Chrome.Insertar una imagen en la extensión de cromo

<img id="image" src="logo.png" /> 

estoy insertando esa etiqueta html correctamente en una página web, pero, naturalmente, no se puede cargar esa imagen logo.png.

¿Alguna idea sobre cómo modificar manifest.json?

+0

es su logo.png en el directorio correcto? – chaohuang

+0

que es el directorio correcto? ponerlo en el directorio de extensión – jacktrades

Respuesta

60

Existen dos causas posibles para el problema.

  1. que estás inyectando una imagen con src="logo.png". El elemento de imagen insertado se convierte en una parte de la página, por lo que el navegador no intenta cargar la imagen desde la extensión.
    Para solucionar este problema, utilice chrome.extension.getURL('logo.png'); para obtener la URL absoluta del recurso.

  2. "manifest_version": 2 está habilitado en el archivo de manifiesto. Eso desactiva todos los recursos para uso externo, por defecto. Cuando se produce este error, el mensaje siguiente aparece en la consola:

    No se permite cargar recurso local: chrome: //gbmfhbpbiibnbbgjcoankapcmcgdkkno/logo.png

    Para resolver el problema, agregar el recurso a una lista blanca, es decir, "web_accessible_resources" en el archivo de manifiesto:

    ..., 
        "web_accessible_resources": ["logo.png"] 
    } 
    
+1

Gracias. Sigo recibiendo el error No permitido ... Todavía comprobando si estoy haciendo algo mal. – jacktrades

+0

@jacktrades Después de incluir en la lista blanca el recurso, ¿ha vuelto a cargar correctamente la extensión? ¿Estás usando la ruta completa relativa a la raíz de la extensión? P.ej. 'images/logo.png' cuando la imagen se encuentra en un subdirectorio. –

+1

Sí, he recargado correctamente. logo.png está ubicado en el directorio raíz, no en el subdirectorio. – jacktrades

Cuestiones relacionadas