V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
mhtt
V2EX  ›  问与答

跨域访问的问题

  •  
  •   mhtt · Dec 25, 2015 · 2325 views
    This topic created in 3777 days ago, the information mentioned may be changed or developed.

    一个 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 这里不需要任何操作,那么请问,如果才能实现不需要提示错误?

    8 replies    2015-12-25 16:44:41 +08:00
    abelyao
        1
    abelyao  
       Dec 25, 2015 via iPhone
    你确定是因为跨域?
    miniers
        2
    miniers  
       Dec 25, 2015
    https 访问 http 的资源也会报错
    fractal314
        3
    fractal314  
       Dec 25, 2015 via Android
    前几天我也遇到一样的问题。这是因为浏览器下载字体的时候,需要跨域 get 请求,在 b.com 的 response 头部加 Access-Control-Allow-Origin:*。
    SourceMan
        4
    SourceMan  
       Dec 25, 2015
    HTTPS 吧
    mhtt
        5
    mhtt  
    OP
       Dec 25, 2015
    @fractal314 请问如何在 b.com 上做 response 头部加 Access-Control-Allow-Origin:*? b.com 上只有 font-awesome 这一个文件夹,包含了从官方下载的内容。
    PublicID
        6
    PublicID  
       Dec 25, 2015 via Android
    CSS 文件应该没有跨域问题,错误截图看看
    paicha
        7
    paicha  
    PRO
       Dec 25, 2015
    @PublicID
    @abelyao
    @SourceMan

    link 标签确实不存在跨域问题。
    但是 css 里请求的 web fonts 是会跨域的。

    http://stackoverflow.com/questions/5008944
    fractal314
        8
    fractal314  
       Dec 25, 2015
    nginx 在配置文件中加一句 add_header Access-Control-Allow-Origin "*";
    apache 参考楼上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3525 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:44 · PVG 19:44 · LAX 04:44 · JFK 07:44
    ♥ Do have faith in what you're doing.