一个 web 项目中用到了 font-awesome ,比如该 web 的访问地址是 http://a.com ,而 font-awesome 是放在 http://b.com 上的,调用
<link rel="stylesheet" href="http://b.com/font-awesome/4.5.0/css/font-awesome.min.css">
访问时总是提示跨域被 blocked , http://a.com 需要做跨域允许的操作,可是如果我用其它第三方的,比如
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
这里访问就正常了, http://a.com 这里不需要任何操作,那么请问,如果才能实现不需要提示错误?
1
abelyao 2015-12-25 12:08:12 +08:00 via iPhone
你确定是因为跨域?
|
2
miniers 2015-12-25 13:10:34 +08:00
https 访问 http 的资源也会报错
|
3
fractal314 2015-12-25 13:32:43 +08:00 via Android
前几天我也遇到一样的问题。这是因为浏览器下载字体的时候,需要跨域 get 请求,在 b.com 的 response 头部加 Access-Control-Allow-Origin:*。
|
4
SourceMan 2015-12-25 13:50:47 +08:00
HTTPS 吧
|
5
mhtt OP @fractal314 请问如何在 b.com 上做 response 头部加 Access-Control-Allow-Origin:*? b.com 上只有 font-awesome 这一个文件夹,包含了从官方下载的内容。
|
6
PublicID 2015-12-25 16:19:38 +08:00 via Android
CSS 文件应该没有跨域问题,错误截图看看
|
7
paicha 2015-12-25 16:29:55 +08:00
@PublicID
@abelyao @SourceMan link 标签确实不存在跨域问题。 但是 css 里请求的 web fonts 是会跨域的。 http://stackoverflow.com/questions/5008944 |
8
fractal314 2015-12-25 16:44:41 +08:00
nginx 在配置文件中加一句 add_header Access-Control-Allow-Origin "*";
apache 参考楼上 |