Questa domanda si applica a situazioni in cui il tipo di carattere web non è richiesta nella pagina principale ed è inizialmente all'interno di una serie di div
display:none;
Come posso caricare un carattere Web come font fantastico al caricamento della pagina?
Ho una pagina web che carica una forma nascosta tramite Javascript al clic e questa forma usi un font web. Il mio problema è che c'è un ritardo di un secondo quando l'utente fa clic per rivelare il modulo, poiché in quel momento Chrome scarica il file woff2
.
Questo non è molto bello per l'esperienza dell'utente.
Ho bisogno di precaricare il webfont in quanto non ho alcun utilizzo per il carattere nella pagina principale, quindi non c'è niente che causi il recupero del file woff2
da parte di Chrome prima che gli utenti facciano clic per rivelare il modulo nascosto.
Ho notato che questo non importa se stai ospitando il Font Awesome sul tuo server o utilizzando la CDN.
Mi sono guardato su Internet per vedere cosa si poteva fare, ho provato tutto il seguito e niente di tutto questo ha aiutato, niente ha causato il caricamento del file woff2
al caricamento della pagina, è stato caricato sempre solo quando la pagina web aveva bisogno attivamente del font.
Tentativo 1: precarico
<link rel="preload" href="form/font-awesome-4.5.0/fonts/fontawesome-webfont.woff2">
o
<link rel="preload" href="form/font-awesome-4.5.0/fonts/fontawesome-webfont.woff2" as="font">
Tentativo 2: Prefetch
<link rel="prefetch" href="form/font-awesome-4.5.0/fonts/fontawesome-webfont.woff2">
Tentativo 3: CSS
@font-face {
font-family: 'Font-Awesome';
src: url('form/font-awesome-4.5.0/fonts/fontawesome-webfont.woff2') format("woff2");;
}
Come mi stava guardando in giro ho iniziato a vedere le possibili soluzioni con carico basato su JavaScript, cosa che in realtà non volevo andare vicino, così che cosa sono le opzioni qui?
quale browser stai testando? – DeveloperACE
Versione Chrome 47.0.2526.111 m – Joseph