为什么这些字体不会跨服务器加载?

我在一台服务器(一个免费的Web主机)上有一个演示页面,可以通过Google Web字体以及同一服务器上的字体文件夹加载字体。 它通过CSS中的非相对URL加载本地字体。 Google字体和本地字体都可以在该服务器上正常工作。

但是,当我尝试在另一个服务器(也是用于测试的免费Web主机)上加载页面时,字体无法加载 - 它们仅显示为0KB请求,无错误完成。

这是演示在第一台服务器上的请求: 在这里输入图像描述

这是来自另一台服务器上的同一页面: 在这里输入图像描述

这是为什么发生?

编辑:只是注意到在控制台中的这些错误:

跨源请求被阻止:相同来源策略不允许阅读位于http://iansan5653.host22.com/fonts/socicon-webfont.woff的远程资源。 这可以通过将资源移动到相同的域或启用CORS来解决。

socicon-webfont.woff可下载的字体:下载失败(字体家族:“Socicon”风格:普通权重:普通弹力:正常src索引:1):不允许URI或跨站点访问来源:http:// iansan5653。 host22.com/fonts/socicon-webfont.woff

如果这与跨域请求有关,Google字体如何加载跨域? 我如何解决这个问题?


“同源策略”阻止从第一台服务器加载字体的请求。 你可以在这里阅读更多关于“同源政策”的内容

您可以采用以下两种方法之一来解决此问题:

  • 简单的方法是将字体从host22.com服务器移动到您的第二台服务器(当前服务器)即atwebpages.com 。 更新您的代码以从同一台服务器加载。 这将解决您的问题。

  • 另一种方法是要求iansan5653.host22.com上的服务器输出以下标题:

    Access-Control-Allow-Origin: http://iansan5653.atwebpages.com

    其中iansan5653.atwebpages.com是您当前的服务器。 这将允许您的第二台服务器从您的第一台服务器请求资源。 您可以与您的托管服务提供商确认是否以及如何启用此类标题输出。

  • 链接地址: http://www.djcxy.com/p/93477.html

    上一篇: Why won't these fonts load across servers?

    下一篇: Resolve FontAwesome text rendering differences