2010-12-26 9 views

Respuesta

32

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.

+0

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á. –

+8

¡No olvide agregar fuentes a https://developer.chrome.com/dev/extensions/manifest.html#web_accessible_resources !! –

-1

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.

+0

¿Estás seguro de que esto funciona? No es para mi – Layke

+0

@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

+1

Éste no funciona. Intenta encontrar un recurso en el script de contenido de la página web real que se ejecuta en. –

17

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/*", 
    ... 
    ] 
+1

Nota: '" css ": [...]' entra dentro '" content_scripts ": [...]' – IvanRF

-2

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.

Cuestiones relacionadas