【发布时间】:2018-04-06 08:38:29
【问题描述】:
我正在使用 Google Apps 脚本创建一个网络应用程序。当我想从 Google Docs 导入照片时,我遵循了 this question 的建议,并且效果很好。我认为类似的过程适用于使用托管在 Docs 上的自定义字体,但它会引发 CORS 异常。
相关代码:
@font-face {
font-family: MyCustomFont;
src: url("https://drive.google.com/uc?export=download&id=1r2a5nd6om75url39428dfju4");
}
#headBanner {
font-family: MyCustomFont;
}
<div id="headBanner">
<p>This text should be in MyCustomFont</p>
</div>
它抛出的错误是:“从源 '[我正在使用的 Google 脚本页面]'访问'[URL in font]' 的字体已被 CORS 策略阻止:没有'Access-Control-Allow-Origin ' 请求的资源上存在标头。因此,不允许访问 Origin '[Google Script page I'm using]'。"
我该如何解决这个问题?我只是觉得它会为字体文件而不是图片引发 CORS 异常,这让我感到困惑。
【问题讨论】:
-
令我感到困惑的是,默认情况下允许图像的“Access-Control-Allow-Origin”,如果您不希望您的图像被其他人显示,则需要专门关闭域。对于这个异常,我仍然没有找到合理的解释。对于任何其他类型的文件,包括字体文件或样式表,除非它们被允许用于所有或您请求资源的特定域,否则它们是不允许访问的。但是您始终可以访问该资源(或下载它),将其保存到您自己的服务器,然后您就可以从那里加载它。 可以,而不是可以。