我想使用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