首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包括来自分离域的CSS字体

包括来自分离域的CSS字体
EN

Stack Overflow用户
提问于 2014-05-09 18:16:28
回答 1查看 61关注 0票数 0

我使用Fontsquirrel的字体,并将它们包含在"@font-face“(CSS)中。请注意:我不想使用Google-Font-Api提供的字体,所以这对我来说不是一个选择。

我有很多网站项目使用相同的字体,JS-Fameworks,图片等。所以我创建了一个包含常用内容的子域(例如mydata.mydomain.xy)。

现在,我可以简单地使用复制和粘贴将这些内容包含在不同的项目中。例如:

代码语言:javascript
运行
复制
<link rel="stylesheet" type="text/css" href="http://mydata.mydomain.xy/css/foo.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://mydata.mydomain.xy/css/bar.css" media="screen" />
<script type="text/javascript" src="http://mydata.mydomain.xy/js/foo.js"></script>
<script type="text/javascript" src="http://mydata.mydomain.xy/js/bar.js"></script>

当然,这对我来说很好--例外:字体。看起来字体数据(TTF,SVG,...)必须保存在与项目域相关的目录中。来自另一个域的包含只适用于Chrome,不适用于Firefox或Opera (IE尚未测试)。有什么窍门吗?还是另有选择?

EN

回答 1

Stack Overflow用户

发布于 2014-05-09 18:27:55

出于某种原因,Firefox将跨域字体视为一个安全问题,因此它们没有被包括在内。正因为如此,我个人一直使用同域字体或Google字体,这些字体嵌入到任何浏览器中都没有问题。

不过,似乎对Firefox/Opera的行为有一些修复。一些文章建议使用类似以下内容来修改您的.htaccess:

代码语言:javascript
运行
复制
<FilesMatch "\.(ttf|otf|eot|woff)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>

我没有测试过这个解决方案,因为我从来不需要它。

来自quick Google:

  • http://www.unseenrevolution.com/solution-firefox-font-face-cross-domain-problem/
  • http://red-team-design.com/firefox-doesnt-allow-cross-domain-fonts-by-default/
  • ...或者自己试试,"firefox跨域字体“
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23562067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档