2016-09-15 1 views
0

Ich schrieb ein benutzerdefiniertes Skript, um verschiedene Dateien, die ich häufige Anfragen zu machen. Beispiele für solche Dateien sind:font awesome icons nicht angezeigt, wenn dynamisch von benutzerdefinierten Skript geladen

  • bootstrap.css
  • bootstrap.js
  • jquery.js
  • jqueryui.js
  • font-awesome.css

Mein eigenes Skript heißt remote.php. Ich schließe meine zufällige CSS und JS-Dateien in Seiten wie folgt aus:

<!-- bootstrap css --> 
<link rel="stylesheet" href="remote.php?type=bscss" type="text/css"> 
<!-- font awesome css --> 
<link rel="stylesheet" href="remote.php?type=facss" type="text/css"> 
<!-- bootstrap js --> 
<link href="remote.php?type=bsjs" type="application/javascript"> 
<!-- jquery js --> 
<link href="remote.php?type=jqueryjs" type="application/javascript"> 

nun alle Dateien, die ich bin auch heruntergeladen wurden von ihren jeweiligen Websites, hochgeladen auf meinen Server und installiert/konfiguriert (falls erforderlich) nach den Anweisungen von Home-Sites.

Mein Skript funktioniert so, wie ich es erwartet habe, mit einem Haken ..... die Schriftart super Symbole zeigen uns Blöcke anstelle von Symbolen. Alles andere funktioniert super ....

Ich habe sichergestellt, Header in meiner remote.php-Datei basierend auf dem Skript, das ich anrufe, zu setzen.

  • .css- Header gesetzt als text/css
  • Js Header gesetzt als application/javascript

Die Schriftart ehrfürchtige CSS-Dateien src-Attribut haben Update auf die vollständige URL meiner Website, aber immer noch nichts.

Die Symbole funktionieren, wenn ich direkt die font-awesome.css Datei (die auf meinem Server ist) aufrufen, und wenn ich das tun muss, um die Symbole funktionieren zu lassen, werde ich. Aber ein Skript, das alle meine benötigten Dateien enthält, macht das Leben einfacher, daher würde ich das gerne herausfinden.

Antwort

0

Sie müssen auch Schriftarten herunterladen. Wahrscheinlich haben Sie relative Pfade zu font-awesome Schriftarten.

+0

Die Schriftarten sind im Download-Paket enthalten. Die Icons funktionieren auch, wenn ich die font-awesome.css-Datei direkt anrufe, die sich auf meinem Server befindet .... Auch hier funktionieren sie, wenn ich direkt auf die .css-Datei verlinke und nicht funktioniere, wenn sie dynamisch aufgerufen wird. –

+0

Können Sie mir einen Link geben, wenn Sie online sind? – ban17

+0

Wenn Sie Netzwerkressourcen überprüfen, erhalten Sie 404? Ich bin mir ziemlich sicher, dass das Problem mit Pfaden hat. Wenn Sie remote.php nur benutzen, um den Inhalt der entfernten Datei zu laden und dann zu drucken, wird nach Dateien auf Ihrem Server gesucht, nicht auf der Fernbedienung, von der Sie Ihr CSS bekommen. – ban17

1

konnte ich mein Problem lösen, das ein CORS Problem entpuppte und stattdessen eine 404 zurückzukehren, es war ein 403.

Die Lösung Rückkehr war meine .htaccess-Datei, die sich in der zu bearbeitenden root meines Servers. Der folgende Code behebt mein Problem.

# ---------------------------------------------------------------------- 
# Webfont access 
# ---------------------------------------------------------------------- 
# Allow access from all domains for webfonts. 
# Alternatively you could only whitelist your 
# subdomains like "subdomain.example.com". 
<IfModule mod_headers.c> 
    <FilesMatch "\.(ttf|ttc|otf|eot|woff?|woff2?|font.css|css)$"> 
     Header set Access-Control-Allow-Origin "http://SUBDOMAIN.DOMAIN.org" 
    </FilesMatch> 
</IfModule>