通过p5.js使用托管字体

时间:2018-12-13 16:17:27

标签: javascript fonts p5.js

对于编码挑战,我需要将一种字体加载到p5中。但是,只能使用codepen对挑战进行编码。由于这个原因(以及我缺乏Codepen Pro),我需要找到一种加载字体的替代方法。我决定将其托管在我的网站上,并尝试使用loadFont()函数中的链接时,该链接将无法加载。我的笔在下面。

https://codepen.io/arman311/pen/XobKBL

编辑:我尝试了@ Elliot-Robson的修复程序,现在出现此错误:

https://codepen.io/arman311/pen/XobKBL”上的页面已通过HTTPS加载,但请求了不安全的XMLHttpRequest端点“ http://www.armancodes.com/fonts/Roboto-Regular.ttf”。该请求已被阻止;内容必须通过HTTPS提供。

1 个答案:

答案 0 :(得分:0)

由于实际问题是CORS问题(并且您的服务器似乎使用Apache),请尝试在与字体相同的文件夹中创建.htaccess文件。

在此文件中添加以下内容:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET"

这将允许任何来源访问该文件中的任何内容。

CORS旨在阻止浏览其他网站的用户能够从您的网站加载数据(由于cookie是附加的,如果他们已登录-他们将获得与登录时相同的数据)。多数情况下,是通过代表用户发出POST请求来利用此漏洞。

由于它只会影响fonts文件夹,因此应该相对安全地实现,只需确保在挑战结束后删除htaccess文件即可避免有人免费使用没有CORS的字体。