Police téléchargeable sur firefox: mauvais URI ou accès intersite non autorisé

Je suis un webmaster à http://www.beperk.com (je vous donne L'URL pour que vous puissiez vérifier le problème) et j'ai beaucoup de problèmes en utilisant @font-face en CSS.

Je veux utiliser les foundicons de zurb dot com donc je les ai hébergés sur Amazon S3.

J'ai configuré le compartiment pour autoriser l'accès crossdomain comme spécifié ici: http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors

Et tout a commencé à fonctionner de manière transparente chez webkit, trident et gecko... surtout: lors de la navigation sur le web avec firefox (version 17, 18 et 19 testé) toutes les icônes échoue au hasard avec cette erreur:

Timestamp: 22/02/13 13:18:01
Error: downloadable font: download failed (font-family: "GeneralFoundicons" style:normal weight:normal stretch:normal src index:1): bad URI or cross-site access not allowed

Et je dis au hasard car après un rechargement complet de la page (avec contrôle/Commande + R) Chaque icône semble normalement échouer à nouveau après quelques visites.

Quelqu'un peut-il trouver le problème?

29
demandé sur ROMANIA_engineer 2013-02-22 16:32:48

4 réponses

Sur votre serveur, vous devrez ajouter:

Access-Control-Allow-Origin

Dans l'en-tête des fichiers de police, par exemple, si vous utilisez Apache, vous pouvez ajouter ceci à la .htaccess:

<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>
39
répondu Ryan McDonough 2016-04-13 12:59:58

Si quelqu'un utilise une ressource locale et fait face à ce problème dans firefox. Vous pouvez aller à about:config et modifier le security.fileuri.strict_origin_policy préférence à false.

Voir : https://developer.mozilla.org/en-US/docs/Same-origin_policy_for_file:_URIs

11
répondu thanh 2016-11-14 09:48:19

Essayez d'utiliser des polices encodées en base64 implémentées comme:

@font-face {
 font-family:"font-name";
 src:url(data:font/opentype;base64,[paste-64-code-here]);
 font-style:normal;
 font-weight:400;
}

Voir: http://sosweetcreative.com/2613/font-face-and-base64-data-uri

Cela a parfaitement fonctionné.

5
répondu matt hias 2014-06-10 09:25:21

J'ai résolu le problème dans Firefox (problème d'accès aux ressources locales) en utilisant uri: src: uri("../fuentes/EurostileLTStd.otf"); au lieu de src: uri("../fuentes/EurostileLTStd.otf");.

-3
répondu Carlos Martínez 2017-03-19 22:01:19