“@font-face 跨源请求失败。资源访问受限”解决办法

我相信很多人都知道我的博客是用wordpress做的,今天我从www.fujieace.com网站,点击“注册”按钮跳转到fujieace.com网站,然后再填写了用户和邮件,结果却报如下错误:

 

1、QQ浏览器、360浏览器报错:

  1. Font from origin 'https://www.fujieace.com' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://fujieace.com' is therefore not allowed access.

中文翻译:

来自“https://www.fujieace.com”的字体已被跨源资源共享策略阻止加载:请求的资源上没有“Access-Control-Allow-Origin”标头。 因此,不允许访问“https://fujieace.com”。

简单的讲就是https://fujieace.com这个网站不允许加载https://www.fujieace.com的字体文件。

跨源请求失败。资源访问受限

 

2、IE浏览器报错:

由于我当时IE报错忘记了截图,因此此图是从网上找的一张,报错都是一样的。
@font-face 跨源请求失败。资源访问受限

 

我打开报错的链接地址,却发现加载的字体是相对的。代码如下:

因为浏览器同源策略的问题吧!字体加载不出来了。

  1. /** 图标字体 **/
  2. @font-face {
  3. font-family: 'FontAwesome';
  4. srcurl('css/fonts/fontawesome-webfont.eot?v=4.4.0');
  5. srcurl('css/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),
  6. url('css/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),
  7. url('css/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),
  8. url('css/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
  9. url('css/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  10. font-weightnormal;
  11. font-stylenormal;
  12. }

 

解决办法:

 

1、最直接暴力的方法就是屏蔽或去掉这些字体css;但是,如果这样,你的网站字体显示就会发生一些变化,这个就看你自己是否不在意字体这些。

 

2、上述办法不行,就可以直接将字体的相对路径替换成绝对路径。如下:

  1. /** 图标字体 **/
  2. @font-face {
  3. font-family: 'FontAwesome';
  4. src: url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.eot?v=4.4.0');
  5. src: url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),
  6. url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),
  7. url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),
  8. url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
  9. url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  10. font-weight: normal;
  11. font-style: normal;
  12. }

 

// 代表兼容http和https两种协议。

 

3、如果上面两种办法都不行,只能说明是【跨域】的问题,解决方法如下:

https://www.fujieace.com/javascript/access-control-allow-origin-2.html

 

【跨域】问题相关文章请查看:https://www.fujieace.com/cross-domain/

    A+
发布日期:2017年11月12日 16:27:31  所属分类:HTML
最后更新时间:2018-12-05 14:04:04
标签:
付杰
  • ¥ 99.0元
  • 市场价:199.0元
  • ¥ 199.0元
  • 市场价:299.0元
  • ¥ 298.0元
  • 市场价:398.0元
  • ¥ 15元
  • 市场价:15元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

  1. 头像 空荡荡 1

    @font-face为什么用绝对地址不行?

    • 付杰 付杰

      @空荡荡 不是不行,请看“跨域”相关文章,已经有很好的解决办法,不懂可咨询我。