Como no puedo usar chrome.extension.getURL()
en un archivo CSS, ¿cómo puedo usar @ font-face con un archivo de fuente local?Cómo usar @ font-face en una extensión de Chrome en un script de contenido
Respuesta
Aquí es cómo conseguir ruta local en css:
body {
background-image:url('chrome-extension://[email protected]@extension_id__/background.png');
}
más sobre él here.
Solo usa una URL relativa. Es simple, más limpio, y es lo correcto para hacer ™:
@font-face {
font-family: 'FontAwesome';
src: url('../font/fontawesome-webfont.eot');
}
Sé que esta pregunta es viejo pero es un buen resultado en Google y en la respuesta aceptada es ineficiente.
EDITAR: Parece que otros están obteniendo resultados mixtos para esto. Debo mencionar que probablemente no funcione cuando se usa en Content Scripts. He probado esto en Popup Scripts y funciona bien.
¿Estás seguro de que esto funciona? No es para mi – Layke
@Layke La ruta es relativa a la ubicación del archivo CSS. Simplifiqué el ejemplo, por lo que probablemente aún deba especificar 'format()'. – matpie
Éste no funciona. Intenta encontrar un recurso en el script de contenido de la página web real que se ejecuta en. –
Esta solución finalmente funcionó para mí:
Se inyecta un nodo de estilo en el documento de la escritura de contenido.
Y para Font Awesome, solo necesita el .woff src para Chrome.
Adding @font-face stylesheet rules to chrome extension
Mi código:
var fa = document.createElement('style');
fa.type = 'text/css';
fa.textContent = '@font-face { font-family: FontAwesome; src: url("'
+ chrome.extension.getURL('lib/fa/fonts/fontawesome-webfont.woff?v=4.0.3')
+ '"); }';
document.head.appendChild(fa);
En el manifiesto:
"css":[
"lib/fa/css/font-awesome.min.css",
...
]
"web_accessible_resources":[
"lib/fa/fonts/*",
...
]
Nota: '" css ": [...]' entra dentro '" content_scripts ": [...]' – IvanRF
pregunta antiguo, pero esto creo que es la mejor solución:
Firefox extension custom fonts
Se aplica igualmente para las extensiones de Chrome porque en lugar de apuntar a un archivo de fuente, está incluyendo la versión codificada en base64 de la fuente en el CSS.
- 1. ¿Cómo limitar el script de contenido de extensión de Chrome a un tipo de contenido específico?
- 2. cómo no heredar estilos en un script de contenido de extensión de Chrome
- 3. Extensión de Chrome: comunicación entre script de contenido y background.html
- 4. Extensión de Chrome: ¿cómo detectar que el script de contenido ya está cargado en una pestaña?
- 5. Carga JQuery en una extensión de Chrome?
- 6. Cómo inyectar CSS utilizando el archivo de script de contenido en la extensión de Chrome?
- 7. Lea el archivo empaquetado con la extensión de Chrome en el script de contenido
- 8. Carga de script de contenido en la extensión de cromo
- 9. ¿El equivalente a un script de contenido en una extensión de Firefox?
- 10. Agregar NaCl en una extensión de Chrome
- 11. Intentando usar jquery ui en la extensión google chrome en el nivel de contenido
- 12. Panel y contenido de PageMod Mensaje de script que pasa en una extensión de Firefox
- 13. RequireJS en una extensión de Chrome
- 14. ¿Cómo puedo abrir la página emergente de mi extensión de Chrome desde el script de contenido de la extensión?
- 15. ¿Cómo realizo un shell ejecutado en una extensión de Chrome?
- 16. Reintentar script de contenido de extensión de Chrome después de la actualización o instalar
- 17. Incrustar imágenes en una extensión de Chrome
- 18. jQuery.ajax en una extensión de Google Chrome
- 19. Extensión de Chrome doble clic en una palabra
- 20. Renderizar plantillas de Moustache.js en una extensión de Chrome
- 21. Extensión de Chrome en python?
- 22. ¿Cómo grabar audio en una extensión de Chrome?
- 23. Uso de AngularJS en una extensión de Google Chrome
- 24. ¿Cómo instalar una extensión de Chrome programáticamente?
- 25. ¿Cómo puedo usar jquery en una secuencia de comandos de contenido de extensión de Chrome cuando una versión anterior ya está en la página
- 26. Extensión de Chrome: cómo crear?
- 27. Extensión de Chrome: Descargar/exportar contenido creado "sobre la marcha"
- 28. Extensión de Chrome: cómo guardar un archivo en el disco
- 29. ¿Cómo puedo redireccionar a una URL con una extensión de Google Chrome y una secuencia de comandos de contenido?
- 30. ¿Debug popup.html de una extensión de Chrome?
Hay un error en algunas versiones de Chrome que impide que esto funcione. La solución rápida: utilice su Id. De extensión codificado en lugar de "__MSG _ @@ extension_id__". El fastidio es que cuando se prueba localmente no funcionará. –
¡No olvide agregar fuentes a https://developer.chrome.com/dev/extensions/manifest.html#web_accessible_resources !! –