我想使用Chrome擴展程序以外的標準字體。我對使用Google網絡字體的可能性感到興奮,但似乎可能會導致在您的擴展使用它時在網絡上傳輸網絡字體的懲罰,從而影響到我的擴展的性能。我可以選擇使用擴展名打包字體嗎?可以在所有支持Chrome的平臺上運行(Windows/Mac /等)?在此先感謝使用谷歌瀏覽器擴展程序打包字體
回答
選擇您的字體。舉例來說,我將採取"Stint Ultra Expanded"。有例子,如何將它添加到您的網頁:
<link href='http://fonts.googleapis.com/css?family=Stint+Ultra+Expanded' rel='stylesheet' type='text/css'>
只拿href
並在瀏覽器中打開它。你會看到水木清華這樣的:
@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');
}
採取url
值的第一個參數從src
財產(http://themes.googleusercontent.com/static/fonts/stintultraexpanded/v1/FeigX-wDDgHMCKuhekhedWmdhyVWfbygZe-w47Q2x_f3rGVtsTkPsbDajuO5ueQw。 woff)。
下載此文件。
價值src
local
財產作爲文件名(濱鷸超擴展)
簡單的方法是下載它的使用參數使用wget:
wget -O "Stint Ultra Expanded.woff" http://themes.googleusercontent.com/static/fonts/stintultraexpanded/v1/FeigX-wDDgHMCKuhekhedWmdhyVWfbygZe-w47Q2x_f3rGVtsTkPsbDajuO5ueQw.woff
現在創建CSS文件,並添加內容你以前見過。 但您必須更改src
財產的價值。刪除全部local
s並調整url
。它應該是水木清華這樣的:
@font-face {
font-family: 'Stint Ultra Expanded';
font-style: normal;
font-weight: 400;
src: url('../fonts/Stint Ultra Expanded.woff') format('woff');
}
現在添加您的CSS文件擴展名和使用的字體:
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>
如果你想在content_script中使用此字體,您必須在您的CSS中調整url
:
@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');
}
你可以在你的css中添加儘可能多的@font-face
規則。
注意:local
值src
屬性告訴你應該使用哪個名稱來存儲它。使用這個名字是個好主意。
第二個通知:如果你使用它像谷歌預期的那樣,你的瀏覽器會檢查這個字體是否已經可用本地。如果情況並非如此,那麼它將被下載並存儲。所以下次它會使用先前存儲的字體。
自Chrome 37(可能更早),您需要提及的字體作爲網絡訪問資源的擴展程序清單中的:
"web_accessible_resources": [
"font/*.woff2"
]
否則,你會看到這樣的錯誤:
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.
要求用戶訪問Google Web Fonts的權限比嵌入它們要少得多(即使這對於最終的離線情況來說可能是完全合理的)。
manifest.json的
"permissions": [
"http://fonts.googleapis.com/",
"https://fonts.googleapis.com/"
],
這不適用於打包的應用程序,但可用於擴展。 –
@WillScott您是否找到打包應用程序的解決方案? –
如何將CSS鏈接添加到擴展中?我在清單中試過,但沒有在那裏工作。 – Hannobo
- 1. 谷歌瀏覽器擴展程序
- 2. 谷歌瀏覽器擴展程序autoupdate
- 3. 谷歌瀏覽器擴展程序ADS
- 4. 谷歌瀏覽器擴展使用UDP
- 5. 谷歌瀏覽器擴展程序:無聲打印頁面
- 6. 循環瀏覽標籤,谷歌瀏覽器擴展程序API
- 7. 使用藍牙與谷歌瀏覽器擴展程序
- 8. 谷歌瀏覽器擴展程序,用於刪除網站中的字體
- 9. 使用谷歌翻譯開發谷歌瀏覽器擴展程序
- 10. 如何在谷歌瀏覽器擴展中使用谷歌AdSense?
- 11. 將谷歌瀏覽器擴展程序轉換爲Firefox或Safari擴展程序
- 12. 設計谷歌瀏覽器擴展程序的用戶界面
- 13. 谷歌瀏覽器擴展和應用程序開發
- 14. 谷歌瀏覽器 - 擴展與應用程序
- 15. 當谷歌瀏覽器擴展
- 16. 離線谷歌Chrome瀏覽器擴展
- 17. 谷歌瀏覽器擴展和NPAPI
- 18. indexdb谷歌瀏覽器擴展
- 19. 谷歌瀏覽器擴展圖像
- 20. 谷歌瀏覽器擴展開發
- 21. 回調谷歌瀏覽器擴展
- 22. 谷歌瀏覽器擴展混淆
- 23. 谷歌瀏覽器擴展程序 - 瀏覽器內容中的圖標
- 24. 谷歌瀏覽器擴展程序:在彈出式網頁
- 25. 如何在谷歌瀏覽器擴展中執行python程序
- 26. 通過谷歌瀏覽器擴展程序登錄網站
- 27. 切換谷歌瀏覽器擴展程序彈出窗口
- 28. 谷歌瀏覽器擴展程序獲取新標籤頁ID
- 29. 谷歌瀏覽器擴展程序 - 將焦點設置爲omnibar
- 30. 谷歌瀏覽器擴展程序檢查域內容
這並不適用於封裝應用工作。 'web_accessible_resources'僅適用於擴展程序,託管應用程序和舊版打包應用程序,但這是一個打包應用程序。 –
我似乎無法讓我的Chrome擴展程序彈出工作。 – offthat
確實'web_accessible_resources'只能用於擴展,但只需下載和集成字體(如答案的第一部分所述)就可以在打包的應用程序中正常工作。 – schellmax