我遇到一个奇怪的问题。通过Google的webfonts api使用webfont链接可以很好地工作并加载字体,但是...我正在创建的应用程序仅是本地的,因此在首次呈现字体时会出现任何形式的连接到互联网的开销,如果没有互联网连接,则不会加载任何字体。
@font-face {
font-family: Pt Sans;
font-style: normal;
font-weight: 400;
src: url(http://themes.googleusercontent.com/static/fonts/ptsans/v4/jduSEW07_j4sIG_ERxiq4Q.woff);
}
以上是工作代码。
@font-face {
font-family: Pt Sans;
font-style: normal;
font-weight: 400;
src: url(fonts/ptsans.woff);
}
当直接从本地浏览器直接运行时,此方法有效,但是我使用的框架将chrome webview嵌入到我的C#应用程序中,称为CefSharp。区别在于,我模拟的是网站链接,而不是直接加载页面。就像我创建了自己的http://链接(如webfont)一样。
如果我打开Chrome开发工具>资源选项卡>字体,然后单击本地加载的字体,它将显示默认字体,但是,如果我单击通过Google的api加载的字体,它将呈现正确的字体。
我不是向浏览器发送的Google API是什么?我尝试了无数mimeTypes。
最佳答案
您知道字型跨网域政策吗?您可以尝试在字体的HTTP标头中发送Access-Control-Allow-Origin "*"
。