@ font-face funktioniert gut über localhost, aber nicht in AppHarbor

8

Ich stehe vor einem Problem, während ich meine Anwendung über einen AppHarbor hostet. Ich habe eine grundlegende Anwendung über .net MVC 3 .. In dieser Anwendung habe ich die @ font-Face-Eigenschaft verwendet, um Inhalt in benutzerdefinierten Schriftarten anzuzeigen:

%Vor%

Wenn ich diese Anwendung über meinen Entwicklungsserver in loaclhost laufe, funktioniert alles einwandfrei, wenn der Inhalt in der benutzerdefinierten Schriftart angezeigt wird. Aber als ich meine App über AppHarbor geschoben habe:

testapp über AppHarbor

Es wird nicht mehr der Inhalt der benutzerdefinierten Schriftart angezeigt, die ich in .css verwendet habe. Ich bin darüber verwirrt, da ich denselben Browser (Chrome 15.0) verwende, um beide zu sehen, aber sie geben unterschiedliche Ergebnisse.

Bitte um Hilfe.

Ich habe gerade herausgefunden, dass dies nur mit den Font-Dateien [* .otf, * .ttf] geschieht. Ich habe ein Bild in den gleichen Ordner gelegt und es wurde perfekt hinzugefügt, aber es ist nicht gelungen, die Schriftart-Datei und 404 darüber angezeigt.

Auch bei der Konfiguration von mimeTypes:

%Vor%     
Maven 08.11.2011, 12:51
quelle

6 Antworten

7

Ihr Stylesheet ist nicht an dem Ort verfügbar, auf den Ihre Seite verweist. Diese URL liefert eine 500: Ссылка

Sie sollten sicherstellen, dass AppHarbor die relevanten .css- und Schriftartdateien bereitstellt. Dies geschieht am einfachsten, indem Sie das Build-Ausgabepaket von AppHarbor herunterladen und dessen Inhalt prüfen. Wenn dies nicht der Fall ist, müssen Sie "Build Action" in der Projektdateireferenz auf "Content" setzen.

Es ist auch wichtig, dass mimetypes korrekt konfiguriert sind.

(Disclaimer, ich bin Mitbegründer von AppHarbor)

    
friism 08.11.2011, 20:24
quelle
19

Um Deploy ".woff" -Formate nach Appharbor zu bekommen, musste ich zwei Dinge tun:

1: Fügen Sie die Schriftart in mein Visual Studio-Projekt ein und stellen Sie sicher, dass die "Build" -Eigenschaft auf "Content" gesetzt wurde (wie oben bei @Korayem beschrieben) 2: Fügen Sie der Web.config die folgende Konfiguration hinzu:

%Vor%     
Lloyd 15.12.2011 02:10
quelle
4

Das Problem besteht darin, dass die Schriftartdatei .otf nicht vom AppHarbor-Server geliefert wird, da kein MIME-Typ konfiguriert ist, der angibt, wie er geliefert wird.

Sehen Sie hier, wie Sie MIME-Typen mit Web.config hinzufügen: Ссылка

Der zu konfigurierende MIME-Typ ist font/otf

Etwas wie:

%Vor%     
Variant 08.11.2011 15:18
quelle
1

Ihr Stylesheet befindet sich unter /Content/Site.css und Sie verweisen auf Ihre Schriften in dieser Datei mit "raleway_thin.otf", was relativ zur CSS-Datei ist. Daher wird erwartet, dass dieser Dateipfad existiert /Content/raleway_thin.otf

Ich bin nicht mit appharbour vertraut, aber stelle sicher, dass alle deine Dateien die Groß- und Kleinschreibung beachten (d. h. Windows verursacht Unix / Linux Probleme).

Andernfalls verhindert der Webserver, dass bestimmte Dateierweiterungen aus dem betreffenden Verzeichnis geladen werden. Auf Apache können Sie sagen, welche Dateitypen in einem Verzeichnis verwendet werden dürfen.

Nachdem Sie gesagt haben, dass 404 bedeutet, dass Ihre URL Ссылка nicht existiert

    
Brad 08.11.2011 15:19
quelle
1

Stellen Sie sicher, dass die Datei Aktion erstellen in Visual Studio auf Inhalt festgelegt ist. Andernfalls wird sie nicht zurückgegeben

Arbeitete für mich auf AppHarbor

    
Korayem 12.12.2011 18:14
quelle
0
  1. Implementieren Sie die @Lloyd-Lösung ..
  2. Es wird empfohlen, alle fontbezogenen Dateien MIME-Typen hinzuzufügen, nicht nur .woff

                                                                              

ref. Ссылка

    
Ahmed Eid Yamany 05.02.2013 20:24
quelle