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

Javascript 如何在没有CORS问题的情况下从外部域获取ttf,javascript,jquery,html,tomcat,cors,Javascript,Jquery,Html,Tomcat,Cors,我正在尝试从外部网站获取一个.ttf来在我的web应用程序中使用。当我以这种方式尝试时: @font-face { font-family: 'font'; src: url('http://xxx.xyz/resources/tipografias/font.ttf') format('truetype'); } 我遇到CORS问题是因为: 请求的服务器上不存在“Access Control Allow Origin”标头 资源 我已经尝试过这个网站显示的jQuery: 我也尝试过C

我正在尝试从外部网站获取一个.ttf来在我的web应用程序中使用。当我以这种方式尝试时:

@font-face {
  font-family: 'font';
  src: url('http://xxx.xyz/resources/tipografias/font.ttf') format('truetype');
}
我遇到CORS问题是因为:

请求的服务器上不存在“Access Control Allow Origin”标头 资源

我已经尝试过这个网站显示的jQuery:

我也尝试过CORS的tomcat过滤器:

我也尝试过使用javascript:


我不知道我做了什么坏事

如果您控制外部网站并使用
htaccess
您可以使用以下代码允许其他网站加载您的字体:

<FilesMatch ".(eot|ttf|otf|woff)">
    Header set Access-Control-Allow-Origin "*"
</FilesMatch>

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

如果这是一家“字体工厂”(设计和许可字体的公司),那么他们可能只允许许可网站访问字体文件(通过检查浏览器发送的原始请求标题是否在其允许网站列表中)


旁注-CORS的发明基本上是为了阻止人们从字体工厂下载字体。

如果你不能控制这个领域,那么你就不能。我建议下载TTF文件(假设你有权下载),然后在你的网站上本地包含它。我可以控制外部网站。我必须把这些代码行放在哪里?放在网站根目录下的
.htaccess
文件或包含字体文件@DMC19的某个子目录中。我正在研究如何像你在我的web.xml中建议的那样做,因为我没有.htaccess文件,我必须在web.xml中配置它。请查看我的edit@DMC19;我相信它应该适合你。我已经允许在外部网站访问,所有的工作都很好,谢谢
<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*"/>
     </customHeaders>
   </httpProtocol>
 </system.webServer>
</configuration>