2012-02-19 13 views
17

Sto utilizzando alcuni tipi di carattere Web di Google. Ho sentito che Google affronta tutti i problemi tra browser diversi e offre media diversi a seconda del browser nell'intestazione della richiesta.Devo memorizzare localmente i CSS generati dall'API di Google Web Fonts?

La mia domanda è, a che punto lo fa?

Il motivo è che per l'API è possibile includere semplicemente un file CSS che contiene la richiesta @font-face. Posso semplicemente includere quel CSS nel mio file CSS, salvando così una richiesta HTTP, o cambia CSS a seconda del browser che lo richiede?

Spero davvero che abbia senso.

Ad esempio, Google suggerisce di includere quanto segue nel file CSS:

@import url(http://fonts.googleapis.com/css?family=Exo);

i cui contenuti sono:

@font-face { 
    font-family: 'Exo'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Exo Regular'), local('Exo-Regular'), url('http://themes.googleusercontent.com/static/fonts/exo/v1/ZcGd2dvMSgl3mHN3lKAjNw.woff') format('woff'); 
} 
+0

Vedi anche http://stackoverflow.com/questions/7203871/google-fonts-external-css-vs-copying-the-code-of-external-css-in-my-css –

risposta

26

Il CSS pubblicato da Google Webfonts cambia a seconda dell'agent utente nell'intestazione della richiesta HTTP, quindi è meglio usare @import. Il motivo sono le diverse implementazioni dei caratteri Web in diversi browser.

+1

Tecnicamente la risposta alla mia domanda. Grazie. – Cheetah

8
Non

una risposta alla tua domanda esatta, ma anche se al momento non sarei mai riuscito a memorizzare nella cache locale qualsiasi CSS che Google fornisce "live" perché:

  • anche se funziona ora, si può rompere in seguito se cambiano qualcosa

  • non si aggiunge alcuna affidabilità, perché il tipo di carattere in sé deve ancora essere recuperato da Google

  • non si ha realmente a migliorare prestazioni molto: se tutto è configurato correttamente, la richiesta HTTP avverrà una sola volta e verrà memorizzata nella cache in seguito. Inoltre, l'utente può avere il font CSS memorizzato nella cache da un altro sito che utilizza Google Fonts.

+0

Sì che fa ha senso. Grazie. – Cheetah

+0

Nonostante il terzo punto, se il font è anche servito dal server locale, è logico che anche il CSS risieda localmente. Inoltre, dal momento che hai menzionato la parola d'ordine "live", preferirei archiviare localmente il contenuto "live" per consentire un'esperienza utente coerente sul mio sito web piuttosto che interrotto quando Google decide di modificare qualcosa, cosa che è noto fare. .. Un sacco! – Sterex

+0

Leggere tutti i tuoi comandi Vorrei suggerire la richiesta proxy al font Google (per la velocità) e memorizzare i risultati nella cache (per poter ottenere le modifiche man mano che vengono) – AsTeR

1

Se si desidera archiviare i CSS locali, è necessario memorizzare localmente il carattere perché altrimenti avrà di nuovo una richiesta HTTP aggiuntiva.

E Google consente di scaricare font per uso locale, ma è possibile controllare anche per il web. https://developers.google.com/webfonts/faq

Problemi correlati