我相信很多人都知道我的博客是用wordpress做的,今天我从www.fujieace.com网站,点击“注册”按钮跳转到fujieace.com网站,然后再填写了用户和邮件,结果却报如下错误:
1、QQ浏览器、360浏览器报错:
- 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 {
- font-family: 'FontAwesome';
- src: url('css/fonts/fontawesome-webfont.eot?v=4.4.0');
- src: url('css/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),
- url('css/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),
- url('css/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),
- url('css/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
- url('css/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
- font-weight: normal;
- font-style: normal;
- }
解决办法:
1、最直接暴力的方法就是屏蔽或去掉这些字体css;但是,如果这样,你的网站字体显示就会发生一些变化,这个就看你自己是否不在意字体这些。
2、上述办法不行,就可以直接将字体的相对路径替换成绝对路径。如下:
- /** 图标字体 **/
- @font-face {
- font-family: 'FontAwesome';
- src: url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.eot?v=4.4.0');
- src: url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),
- url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),
- url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),
- url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),
- url('//fujieace.com/wp-content/themes/fujie/css/fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
- font-weight: normal;
- font-style: normal;
- }
// 代表兼容http和https两种协议。
3、如果上面两种办法都不行,只能说明是【跨域】的问题,解决方法如下:
https://www.fujieace.com/javascript/access-control-allow-origin-2.html
【跨域】问题相关文章请查看:https://www.fujieace.com/cross-domain/
2018年09月25日 21:14:43 沙发
@font-face为什么用绝对地址不行?
2018年09月25日 21:22:35 1层
@空荡荡 不是不行,请看“跨域”相关文章,已经有很好的解决办法,不懂可咨询我。