Was könnte dazu führen, CSS zu scheitern gelegentlich auf allen Browsern zu laden?

StackOverflow https://stackoverflow.com/questions/94123

  •  01-07-2019
  •  | 
  •  

Frage

Ich arbeite an einer Webapp, und jeder so oft laufen wir Situationen, in denen Seiten ohne Anwendung CSS geladen werden. Dieses Problem ist in IE6, IE7, Safari 3 und FF3 angezeigt.

Eine Aktualisierung der Seite wird immer das Problem beheben.

Es gibt 3 CSS-Dateien geladen, die alle im gleichen Stil Block mit @import:

<STYLE type="text/css">
  @import url([base css file]);
  @import url([skin css file]);
  @import url([generated css path]);
</STYLE>

In jeder Situation, wenn wir die Zeit, um die HTML-Quelle zu untersuchen, ist nichts Außergewöhnliches. Zugriffsprotokolle scheinen normal, wie gut - wir bekommen HTTP 304-Antworten für die statischen CSS-Dateien, wenn sie angefordert werden, und eine HTTP-200-Antwort für unsere erzeugte CSS

.

Der MIME-Typ text / css für die CSS-Dateien und die erzeugte CSS. Wir verwenden einen iPlanet-Server, die Anfragen an einen Tomcat-Server weiterleitet.

davebug fragte:

  

Ist es immer die gleiche CSS-Datei nicht laden, oder ist das Problem mit allen von ihnen, gleichmäßig?

Keine der CSS-Dateien laden. Jegliche Arten innerhalb der HTML-Arbeit fein definiert, aber nichts in einem der CSS-Dateien funktioniert, wenn dies geschieht.

War es hilfreich?

Lösung

Ich habe zufällig ein ähnliches Ding hat, dass ich in der Lage zu beheben war zunächst, indem ein Basis-Stylesheet des „link rel“ -Methode statt „@import“ verwenden. das heißt Ihre [base CSS-Datei] bewegen Inklusion:

<link rel="stylesheet" href="[base css file]" type="text/css" media="screen" />

und legt es vor den anderen.

Andere Tipps

wenn es oft genug passiert, dass Sie in der Lage sind, es zu sehen in Ihrem Browser, versuchen intalling die Live HTTP Headers Firefox-Erweiterung oder die Tamper Data Erweiterung, und beobachten Sie die Antwort-Header, wie sie durch den Browser zu sehen sind.

Ich weiß nicht, warum, aber in meinem Fall, wenn die Seite aus einer Aktion mit dem Pfad wie /ActionName geladen wird, sehe ich dieses Problem.

Aber wenn ich es ändern (zum Beispiel) /reservedArea/ActionName oder /aPath/ActionName es funktioniert: /

Es ist verrückt ...

den Header Prüfungs ist eine gute Idee, aber ich glaube, alles, was man von ihnen lernt, ist, dass der Server nicht auf eine Anfrage in einer Weile hin und wieder ansprachen.

Das sehe ich die ganze Zeit auf dem Netz passieren. Die Bilder werden nicht geladen, bis Sie aktualisieren, CSS ist vermasselt, usw. Alle diese Situationen werden durch eine Auffrischungs gelöst.

Ich stelle mir eine Möglichkeit, Sie zu „reparieren“ könnten dies vielleicht, durch die Angabe in Ihrem cs ist eine URL für ein Bild für ein Element-Datei. Dann beim Laden der Seite in Javascript, erhalten dieses Element und sehen, ob das Bild geladen wird. Wenn nicht, dann haben Sie die Seite neu laden selbst.

Scheint ziemlich exotisch, aber das ist die einzige Idee, die ich hatte ...

Sie ab oder httperf oder gewellt oder etwas wiederholt die CSS-Dateien vom Webserver geladen werden. Vielleicht ist es nicht konsequent, die Seiten zu dienen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top