如何在没有CORS问题的情况下从外部域获取ttf

时间:2018-01-25 11:06:19

标签: javascript jquery html tomcat cors

我正试图通过外部网站在我的网络应用程序中使用.ttf。当我以这种方式尝试时:

@font-face {
  font-family: 'font';
  src: url('http://xxx.xyz/resources/tipografias/font.ttf') format('truetype');
}

我因为以下原因而遇到了CORS问题:

  

请求时没有'Access-Control-Allow-Origin'标头   资源。

我尝试过本网站展示的jQuery:Html5rocks

我也尝试过使用tomcat的tomcat过滤器:CORS filter

我也尝试使用javascript:Javascript

我不知道我做得不好

2 个答案:

答案 0 :(得分:1)

如果您控制外部网站并使用 ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 -f alsa -ac 1 -i hw:1,0 -acodec libmp3lame -ab 96k camera.mp4 ,则可以使用以下代码允许其他网站加载您的字体:

htaccess

如果您不控制外部网站,则无法绕过<FilesMatch ".(eot|ttf|otf|woff)"> Header set Access-Control-Allow-Origin "*" </FilesMatch> 政策。

我相信以下内容适用于您的CORS文件:

web.xml

答案 1 :(得分:0)

您无法绕过这一点 - 服务器并不希望您有权访问该字体。正如其他人所说,你可以只需下载字体文件并在本地提供。但这可能会被视为偷窃。根据字体的不同,它可能是特许的字体。

如果这是一个&#39;字体工厂&#39; (设计和许可字体的公司),然后他们可能只允许许可的网站访问字体文件(通过检查您的浏览器发送的Origin请求标头是否在其允许的网站列表中)。

附注 - CORS基本上是专门用来阻止人们从字体工厂下载字体的。