2012-12-09 26 views
11

当我使用Google Webfonts时,它们会在我关心的每个浏览器上加载,除Chrome/iOS之外。这看起来很奇怪,因为它在适用于Mac的Chrome和适用于iOS的Safari上运行良好,所以我不认为这是iOS问题或Google Chrome问题。这似乎是特定于Chrome/iOS的。Google Web字体无法在iOS版Chrome中加载

任何想法或想法如何解决这个问题,将是伟大的!

谢谢!

编辑

我使用托管在谷歌谷歌Web字体,有以下几点:

<link href="http://fonts.googleapis.com/css?family=Leckerli+One" rel="stylesheet" type="text/css" /> 

在我的字体(SASS),我现在用的是以下几点:

h1 
    font-family: "Leckerli One", cursive 
+0

如何使用谷歌网页字体 - 由谷歌为远程托管,或在自己的服务器上? (这通常会有所作为。)哪些字体?你使用的是什么确切的代码? –

+0

你有没有尝试下载字体,自己托管它,看看它是否显示呢?很值得一试。 –

+0

Andrew-你有链接到你的网站?我目前在我的网站上使用Google Webfonts,他们在iOS上使用Chrome。我也测试过这种字体,它似乎工作:http://www.djfarrelly.com/test/ – djfarrelly

回答

9

我看到了同样的问题。将字体文件托管在我自己的服务器上,并重写@ font-face规则以匹配我的问题,无论是使用本地开发服务器还是prod。

我不知道原因;我最好的猜测是一些在UIWebViews中执行不同的同源问题(由于App Store规则,iOS Chrome是一个UIWebView)。

+0

答案应该真的回答这个问题,如果不是,你想说点什么,请在评论中注明(如果你有50的声望,你可以这样做) –

+3

我解决了这个问题,并回答了他的原始问题。如果我没有回答他深入的理论后续行动,那么我预计不会得到赏金,一切都会在这个世界上。 – Dave

2

CSS您可以使用

!important 

例子:

@font-face { 
    font-family: 'Monda' !important; 
    font-style: normal !important; 
    font-weight: 400 !important; 
    src: local('Monda Regular'), local('Monda-Regular'), url(http://themes.googleusercontent.com/static/fonts/monda/v1/sk05J8GA1NvUxDnk43EgAQ.woff) format('woff') !important; 
} 
+5

请详细说明,因为你的答案根本没有意义。 – Marko

+1

他暗示这里的CSS实例在样式表中进一步写下来(因此:CSS层叠样式表),因此您可能需要使用!important来覆盖它;但我不相信这是你的问题。 –

4

IOS设备仅使用TTF格式(如果遵循以下开发人员指南,则为OTF)。该字体被用作WOFF,EOT和OTF(可能不遵循指导原则)。有一些services会给你其他版本。尝试使用@ font-face指定字体,看看是否解决了问题! Fontsquirrel有一个@font-face generator做繁重的工作。

关于后续问题。有一些来自Apple的开发者文档在他们的TrueType字体的实现。它可以找到here。基本上,TTF格式将字体存储为sfnt资源。唯一可以做到的其他字体格式是OpenType的偏移表sfnt包装。由于IOS使用sfnt包装器读取字体,因此会遇到未以此方式存储的字体问题。 (对不起所有的行话谈话)。

+0

不是我的经验:至少在iOS6中,WOFF字体工作正常(在Safari中,在我从我自己的服务器提供给他们后,在Chrome中)。看到我对这个问题的回答。 – Dave

4

您可以使用Google Fonts API Loader这将检测用户的浏览器并发送适当格式的CSS。

示例代码在this Stack Overflow question的第一个响应中可用。

这将允许Safari和Chrome(以及其他基于UIWebView的浏览器)正确显示字体。

注意:如果你想在本地存储字体,如@Dave建议,this CSS应该工作。

0

如果其他人仍然看到此问题 - 在iOS 9或更低版本的Chrome上未加载字体 - 请检查字体是否导入为css文件,而不是js文件。字体。com会给你选择将字体导入为js,而这些js不会在Chrome/iOS 9或更低版本中获得。更改我的导入到CSS为我解决了这个问题。

0

对我的作品中添加的PHP页面:

<style type="text/css"> 
@import url('https://fonts.googleapis.com/css?family=Trocchi'); 
@import url('https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'); 
</style>