谷歌如何绕过“禁止跨域自定义字体”在火狐浏览器上

发布于 2024-12-21 02:25:24 字数 780 浏览 2 评论 0原文

我希望在我们的网站上提供一个小型 Webfont 服务以供我们的客户使用。
我只是想知道Google如何绕过字体下载的跨域禁止问题?

编辑: 我把这个 CSS 放在服务器上:

@font-face {
   font-family: 'Fascinate';
   font-style: normal;
   font-weight: 400;
   src: local('Fascinate'), local('Fascinate-Regular'), url('http://www.site.com/fontkit/fonts/fascinate.woff') format('woff');
}

并将其导入本地主机,如下所示,

<link href='http://www.site.com/fontkit/style.css' rel='stylesheet' type='text/css'>

这不起作用 但是当我将字体网址更改为谷歌字体时,它可以正常工作。 像这样 :

src: local('Fascinate'), local('Fascinate-Regular'), url('http://themes.googleusercontent.com/static/fonts/fascinate/v1/NnlsYos1mCtA9prs2JfnBT8E0i7KZn-EPnyo3HZu7kw.woff') format('woff');

I want to have a small Webfont Service on our web site to be used by our customers.
I just want to know how Google bypasses cross-domain prohibition problem for font downloading ?

edit:
I put this CSS on the server:

@font-face {
   font-family: 'Fascinate';
   font-style: normal;
   font-weight: 400;
   src: local('Fascinate'), local('Fascinate-Regular'), url('http://www.site.com/fontkit/fonts/fascinate.woff') format('woff');
}

and import it in localhost as below

<link href='http://www.site.com/fontkit/style.css' rel='stylesheet' type='text/css'>

this does not work
but when i change the font url to google fonts, it works correctly.
like this :

src: local('Fascinate'), local('Fascinate-Regular'), url('http://themes.googleusercontent.com/static/fonts/fascinate/v1/NnlsYos1mCtA9prs2JfnBT8E0i7KZn-EPnyo3HZu7kw.woff') format('woff');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨敛清荷 2024-12-28 02:25:24

您可以从其他站点请求脚本和样式,同源策略禁止通过 Ajax 等方式向/从不同域发送带有 javascript 的请求。

You're allowed to request scripts and styles from other sites, the same-origin policy prohibits sending requests with javascript to/from a different domain via something like Ajax.

玩心态 2024-12-28 02:25:24

.htaccess (在服务器上)添加一些代码解决了问题

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "GET"
    Header set Access-Control-Allow-Credentials "false"
</IfModule>

Adding some codes to .htaccess (On the server) solved the problem

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "GET"
    Header set Access-Control-Allow-Credentials "false"
</IfModule>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文