2013-05-13 12 views
5

Ich versuche, eine Webschriftart zu erstellen und sie auf AWS S3 bereitstellen zu lassen.AWS S3-Kreuzursprungsanforderung fehlgeschlagen auf ie9

Funktioniert in allen Browsern außer IE9, wo es besagt, dass die ursprungsübergreifende Anforderung beim Laden der Woff-Datei fehlgeschlagen ist.

Ich habe viele und viele Foren über Leute gelesen, die das Problem haben, aber ich konnte keine Lösung finden.

Ich denke, es hat etwas damit zu tun, dass das CORS-Setup auf S3 nicht die richtigen Daten oder etwas an IE9 sendet?

(Arbeiten in Firefox, Chrome, IE7,8 usw.)

Die einzigen Vorschläge, die ich gesehen habe, das Problem zu beheben sind, eine EC2-Instanz Spinnen und macht eine Web-Host für die Schriftarten (vollständigen Overkill !) und der andere benannte die CSS-Datei als .php und setze Header in PHP (aber das ist daft).

Weiß jemand (wenn überhaupt möglich), um dieses Problem zu beheben?

Dank

bearbeiten

Meine CORS config:

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 
+0

Können Sie Ihre aktuelle CORS-Konfiguration posten? –

+0

@LarryMcKenzie Posted die CORS im ursprünglichen Beitrag jetzt – TheStoneFox

+0

Können Sie etwas über Ihre Webserverkonfiguration erklären. Auch ich fand das, wenn es hilfreich ist: http://css-tricks.com/forums/discussion/21452/font-family-not-working-in-ie-9-but-all-other-ies/p1 –

Antwort

0

IE9 .WOFF unterstützt; IE8 nicht und unterstützt nur .EOT-Schriftarten.

Öffnen Sie die IE9 F12 Developer Tools und Sie sehen die folgenden Meldungen:

CSS3117: @ font-face fehlgeschlagen Cross-Origin-Anfrage. Der Ressourcenzugriff ist eingeschränkt. Neuton-webfont.woff

CSS3117: @ Schriftart-Gesicht fehlgeschlagen Cross-Ursprungs Anfrage. Der Ressourcenzugriff ist eingeschränkt. YanoneKaffeesatz-Regular-webfont.woff

CSS3114: @ font-Face fehlgeschlagen OpenType-Einbettungserlaubnisprüfung. Die Berechtigung muss installierbar sein. Neuton-webfont.ttf

CSS3114: @ Schriftart-Gesicht fehlgeschlagen OpenType-Einbettungserlaubnisprüfung. Die Berechtigung muss installierbar sein. YanoneKaffeezatz-Regular-webfont.ttf Wenn Sie Ihre HTTP-Header überprüfen, ist es klar, dass Ihr domänenübergreifender Zugriff nicht richtig konfiguriert ist, da es keine Access-Control-Allow-Origin-Antwortheader auf Ihren WOFF-Dateien gibt. Sie werden auch mit dem falschen MIME-Typ (text/plain) geliefert, obwohl das Ihr Problem nicht verursacht.

Wenn Sie IE8 wollen gegen IE9 auf Ihrem Computer und Test zu halten, laden Sie die Standalone-Platform Preview 8 von here

IE9 blocks download of cross-origin web font

+0

http://stackoverflow.com/questions/5065362/ie9-blocks-download-of-cross-origin-web-font –

+1

Beantwortet meine Frage nicht – TheStoneFox

5

Ich habe es gerade getan. Grundsätzlich können Sie die Schritte zum Bearbeiten Ihrer S3-Bucket-Berechtigungen befolgen. Wenn Sie weitere Hilfe benötigen, hinterlassen Sie einen Kommentar unten.

1) Melden Sie sich an der AWS Management Console in und öffnen Sie die Amazon S3-Konsole bei https://console.aws.amazon.com/s3/

2) In der Eimer Liste, öffnen Sie den Eimer, dessen Eigenschaften Sie anzeigen möchten, und klicken Sie auf "add CORS-Konfiguration"

amazon-screen-shot

3) schreiben Sie die Regeln, die Sie bereit sind, zwischen den Tags hinzuzufügen in <CORSConfiguration>

<CORSConfiguration> 
    <CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    </CORSRule> 
</CORSConfiguration> 

Sie können mehr über Regeln lernen: http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

+0

Ja, ich konnte lösen, indem Sie die ' entfernen 'Linie von mir. Vielen Dank! –

0

Die Sache, die die CORS-Einstellungen arbeiten für mich gemacht wurde die ENTF-Taste auf der CORS Einstellungen Seite klicken und anschließend wird eine neue CORS Konfiguration

die vorhandene Einstellung bearbeiten schien nur keine Wirkung zu haben, bis ich die DELETE getroffen hatte.

enter image description here