2017-02-17 2 views
0

Wenn ich Änderungen an meiner CSS-Datei vornimmt und meine d3.js-getriebene Seite neu lade, werden die CSS-Änderungen nicht angezeigt. Die einzige Möglichkeit, die CSS-Änderungen anzuzeigen, besteht darin, den Browser-Cache zu löschen. Dieses Problem tritt nicht bei anderen Webseiten auf, auf denen ich die Seiten css bearbeite. Es scheint, dass es etwas Einzigartiges bei der Verwendung von d3.js gibt, das die alte CSS-Datei enthält, es sei denn, der Cache ist gelöscht.Änderungen an CSS spiegeln sich nicht in der d3.js-Site wider

Da ich nicht erwarten kann, dass Benutzer ihren Cache jedes Mal löschen, bevor ich meine d3.js-getriebene Seite lade, wie kann ich sicherstellen, dass sie meine CSS-Änderung bekommen?

Die d3.js Site-Struktur:

index.php in d3.js im Kopf bringt

<script type="text/javascript" src="d3/d3v428.js"></script> 

index.php in einigen jquery in einer JSON-Datei bringt, die eine d3chart schafft . Das Diagramm ist eine Struktur von PHP-Seiten in der JSON-Datei. Jede PHP-Seite hat einen Link zur CSS-Datei im Kopf.

<link rel="stylesheet" href="style.css" type="text/css" /> 

Snipet der JSON-Datei (jede Php-Datei hat einen Link auf die Datei style.css, Änderungen an CSS in dieser Datei nur zeigen, wenn ich die Browser-Cache zu löschen) Auch

[ 
{ 
    "id": "0", 
    "title": "Page1", 
    "asChildText": "null", 
    "url": "1.php", 
    "parentId": "null", 
    "children": [ 
     { 
      "id": "53", 
      "title": "Page21", 
      "asChildText": "Let's begin!", 
      "url": "21.php", 
      "parentId": "0", 
      "children": [ 
       { 
        "id": "1", 
        "title": "Page16", 
        "asChildText": "Step1", 
        "url": "16.php", 
        "parentId": "53", 
        "children": [ 

Die CSS-Datei, die nicht von den PHP-Seiten in der JSON-Datei verwendet wird, zeigt beim erneuten Laden Änderungen an der CSS an. So scheint es, dass der JSON mit dem CSS verbunden ist, das nicht aktualisiert.

Dank

+0

Versuchen Sie, Ihre CSS-Dateien wie 'index.css? V = 1' zu referenzieren ... Ich hatte ein ähnliches Problem vor und dies behoben – sparta93

+0

Ich fügte hinzu? V = 1 zum css-Dateinamen, aber es funktionierte nur einmal. Nach einer zweiten Änderung und dem erneuten Laden der Seite wurde das CSS nicht aktualisiert. Ich änderte eine Grenze von 2px zu 5px und Firebug zeigt sogar die 2px noch. – Marc

Antwort

1

Irgendwie ist der Pfad zur CSS-Datei mit der JSON-Datei wurde verloren/verwirrt. Durch Hinzufügen eines ./ vor der Referenz zur CSS-Datei wurde das Problem gelöst. Ich kann die CSS ändern, den Browser aktualisieren und die Änderungen sehen.

<link rel="stylesheet" href="./style.css" type="text/css" /> 
0

Sie benötigen diese Zeile:

<link rel="stylesheet" href="./style.css" type="text/css" /> 

Der Grund für die "./" Bit weiter unten erläutert wird:

Einzel Punkt ist für aktuellen directory.The Doppelpunkt ist für übergeordnetes Verzeichnis :

./ = current 
../ = parent 

Hoffnung, das hilft :)

Verwandte Themen