为什么在 Heroku 上嵌入谷歌字体不起作用?
例如:
<link href='http://fonts.googleapis.com/css?family=<some_kinda_font>' rel='stylesheet' type='text/css'>
编辑:事实证明它有效,我的一个 chrome 扩展程序将其作为“不安全脚本”阻止
我发现 heroku 为使用 google fonts url 设置了安全参数。它想使用 https 而不是普通的 http。这对我有用。
代替:
@import url('http://fonts.googleapis.com/css?family=Oswald:400,700,300');
我用了
@import url('//fonts.googleapis.com/css?family=Oswald:400,700,300');
如果您注意到第二行省略了 http,则允许 heroku 使用 https。我假设您可以根据需要在链接中使用 https。
只需使用 HTTPS 而不是 HTTP:
<%= stylesheet_link_tag "application", 'https://fonts.googleapis.com/css?family=<font_name>', :media => "all" %>
或者你可以使用 url 而不指定 http 协议
<%= stylesheet_link_tag "application", '//fonts.googleapis.com/css?family=<font_name>', :media => "all" %>
有了这个 http 和 https 工作。
将链接更改为HTTPS
<link href='https://fonts.googleapis.com/css?family=some_kinda_font' rel='stylesheet' type='text/css'>
更好的方法是完全放弃协议,只以“//”开头。将根据服务器上下文使用正确的协议(HTTP 或 HTTPS)
<link href='//fonts.googleapis.com/css?family=some_kinda_font'
rel='stylesheet' type='text/css'>
生成阻塞 CSS,这@import
会导致页面加载速度变慢。对字体使用额外的 DNS 查找会使情况变得更糟。为了提高性能,我会在本地/您自己的 Web 服务器上交换和托管字体@import
。@font-face
您可以使用Google 字体下载助手下载字体。
重要提示- 将您的公司名称放在免费发布给社区的东西前面是不酷的(谷歌字体)。用它来创建一个“免费服务”来跟踪人们的在线行为就更不酷了。大多数人称之为偷窃(剽窃)和窥探。我们告诉我们的孩子,这很糟糕。我们(作为 Web 开发人员)不应该为此提供便利。我们不应该将 Google 字体提供给我们的访问者。只需下载这些免费字体并从您的网络服务器提供它们。他们(应该)与谷歌无关。如果您是这些字体的所有者,请阻止 Google 托管它们。停止促进大规模监视。谢谢你。