Desidero utilizzare qualcosa di diverso dai caratteri standard con la mia estensione Chrome. Ero entusiasta della possibilità di utilizzare Google Web Fonts, ma sembra che potrebbe incorrere in una penalità per il trasferimento del carattere Web sulla rete ogni volta che viene utilizzata dall'estensione, al punto da compromettere le prestazioni della mia estensione. Ho qualche opzione per confezionare un font con la mia estensione che funzioni su tutte le piattaforme supportate da Chrome (Windows/Mac/etc.)? Grazie in anticipoConfezionamento di un carattere con estensione Google Chrome
risposta
Scegli il tuo tipo di carattere. Ad esempio prendo lo "Stint Ultra Expanded". C'è ad esempio come aggiungere alla tua pagina:
<link href='http://fonts.googleapis.com/css?family=Stint+Ultra+Expanded' rel='stylesheet' type='text/css'>
prendere solo il href
e aprirlo in browser. Vedrete dovrebbe occupare in questo modo:
@font-face {
font-family: 'Stint Ultra Expanded';
font-style: normal;
font-weight: 400;
src: local('Stint Ultra Expanded'), local('StintUltraExpanded-Regular'), url(http://themes.googleusercontent.com/static/fonts/stintultraexpanded/v1/FeigX-wDDgHMCKuhekhedWmdhyVWfbygZe-w47Q2x_f3rGVtsTkPsbDajuO5ueQw.woff) format('woff');
}
Prendere primo parametro di url
valore da src
proprietà (http://themes.googleusercontent.com/static/fonts/stintultraexpanded/v1/FeigX-wDDgHMCKuhekhedWmdhyVWfbygZe-w47Q2x_f3rGVtsTkPsbDajuO5ueQw. woff).
Scarica questo file.
Utilizzare il parametro di local
valore della src
proprietà come il nome del file (Stint Ultra Expanded)
Un modo semplice è quello di scaricare il programma sta usando wget:
wget -O "Stint Ultra Expanded.woff" http://themes.googleusercontent.com/static/fonts/stintultraexpanded/v1/FeigX-wDDgHMCKuhekhedWmdhyVWfbygZe-w47Q2x_f3rGVtsTkPsbDajuO5ueQw.woff
Creare ora file css e aggiungi contenuto che hai visto prima. Ma è necessario modificare il valore della proprietà src
. Rimuovi tutti gli local
e regola url
. Dovrebbe essere smth come questo:
@font-face {
font-family: 'Stint Ultra Expanded';
font-style: normal;
font-weight: 400;
src: url('../fonts/Stint Ultra Expanded.woff') format('woff');
}
Ora aggiungere il file CSS per estensione e utilizzare il tipo di carattere:
popup.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<link href='css/fonts.css' rel='stylesheet' type='text/css'>
</head>
<body>
<span style="font-family: 'Stint Ultra Expanded';">Hello Font</span>
</body>
</html>
Se volete usa questo carattere in content_script devi regolare url
nel tuo css:
@font-face {
font-family: 'Stint Ultra Expanded';
font-style: normal;
font-weight: 400;
src: url('chrome-extension://[email protected]@extension_id__/fonts/Stint Ultra Expanded.woff') format('woff');
}
È possibile aggiungere tutte le regole @font-face
nel proprio css come desiderato.
Avviso: il valore local
nella proprietà src
indica quale nome deve essere utilizzato per memorizzarlo. È una buona idea usare questo nome.
Secondo avviso: se lo si utilizza come previsto da Google, il browser controlla se questo carattere è già disponibile locale. Se questo non è il caso, verrà scaricato e memorizzato. Quindi la prossima volta userebbe il carattere che è stato precedentemente memorizzato.
Come di Chrome 37 (forse prima), è necessario citare la fonte come risorsa accessibile web nel manifesto della estensione:
"web_accessible_resources": [
"font/*.woff2"
]
altrimenti si sarebbe visualizzato un errore simile:
Denying load of chrome-extension://{ID}/font/My Web Font.woff2.
Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
Chiedere all'utente le autorizzazioni per accedere a Google Web Fonts è molto meno impegnativo di quello di includerli (anche se ciò potrebbe avere perfettamente senso per eventuali scenari off-line).
manifest.json
"permissions": [
"http://fonts.googleapis.com/",
"https://fonts.googleapis.com/"
],
Questo non funzionerà nelle app in pacchetto, ma funzionerà nelle estensioni. –
@WillScott hai trovato una soluzione per le app in pacchetto? –
Come aggiungerebbe il collegamento CSS nell'estensione? L'ho provato nel manifest, ma non ha funzionato lì. – Hannobo
- 1. Ottimizzazione carattere Google Chrome
- 2. Google Chrome estensione percorso relativo
- 3. Estensione Google Chrome: Mac Compatibilità
- 4. Chiamata sincrona in Google Estensione Google Chrome
- 5. Estensione chrome di Google Simple REST Client
- 6. Estensione Chrome di Google: archiviazione locale
- 7. Estensione Google Chrome: stampa silenziosamente la pagina
- 8. Estensione Google Chrome per Click Once?
- 9. Estensione Google Chrome - Accesso al DOM
- 10. Come creare socket in estensione google chrome?
- 11. Come utilizzare chrome.alarms per Google Chrome estensione
- 12. Caricamento javascript esterno in estensione google chrome
- 13. Confezionamento di più pesi in un carattere Web
- 14. Converti estensione Google Chrome in estensione Firefox o Safari
- 15. Google estensione Chrome con NPAPI trasferirsi a NaCl
- 16. carattere impressionante lampeggiante in Google Chrome
- 17. Estensione di Chrome modificata - chrome crede che sia un malware
- 18. Estensione CORS Chrome con versione manifest 2
- 19. Estensione di Chrome per scrivere su Google Spreadsheet
- 20. Cursore personalizzato estensione Chrome
- 21. Estensione Chrome: portafoglio bitcoin
- 22. Chiusura finestra popup creata da Google Estensione Chrome
- 23. Supporto estensione browser in Google Chrome sul cellulare
- 24. Come sincronizzare le opzioni di estensione chrome
- 25. Estensione Google Chrome - attesa fino al caricamento della pagina
- 26. Evidenzia nodo con estensione chrome devtools
- 27. Controllo Google Chrome Sync se abilitato tramite API/Estensione?
- 28. Notifica estensione desktop Chrome
- 29. Chrome DevTools console estensione
- 30. Errore di estensione Chrome: Richiesta non definita
Questo non funziona per i pacchetti di applicazioni. 'web_accessible_resources' è consentito solo per estensioni, app in hosting e app preesistenti in pacchetto, ma questa è un'app in pacchetto. –
Non riuscivo a ottenere questo metodo per funzionare nel popup della mia estensione di Chrome. – offthat
è vero che "web_accessible_resources" è consentito solo per le estensioni, ma semplicemente il download e l'integrazione del font (come descritto nella prima parte della risposta) funziona perfettamente nelle app in pacchetto. – schellmax