更新:下面的“解决方案”实际上并没有工作......我们确实有一个错字,但在随后的测试中,这仍然不是根本原因,我们仍然面临这个问题。
解决方案是在覆盖@font-face 时非常小心,确保提供与原始@font-face 中使用的所有相同格式。否则,浏览器似乎将其视为不同的定义,并将尝试下载两者中引用的文件,而不是覆盖它。
所以这里是FontAwesome的CSS中的定义,先引用。
@font-face {
font-family: 'FontAwesome';
src: url('../font/fontawesome-webfont.eot?v=3.1.0');
src: url('../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'),
url('../font/fontawesome-webfont.woff?v=3.1.0') format('woff'),
url('../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'),
url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');
font-weight: normal;
font-style: normal;
}
当我们试图覆盖时,我们不小心删除了“format('svg')”定义:
@font-face {
font-family: 'FontAwesome';
src: url('//ourdomain.com/includes/font-awesome-3.1.x/font/fontawesome-webfont.eot?v=3.0.1');
src: url('//ourdomain.com/includes/font-awesome-3.1.x/font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
url('//ourdomain.com/includes/font-awesome-3.1.x/font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
url('//ourdomain.com/includes/font-awesome-3.1.x/font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
font-weight: normal;
font-style: normal;
}
添加format('truetype')
定义后,我们不再遇到导致 404 的额外命中。