Laden...

Server 2008 R2 - Style geht verloren [=> Compatibility View]

Erstellt von hurricane vor 12 Jahren Letzter Beitrag vor 12 Jahren 5.540 Views
hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren
Server 2008 R2 - Style geht verloren [=> Compatibility View]

Hallo,

ich habe verschiedene Webseiten, die ich unter Windows 7 64bit entwickle und dann auf einem Server 2008 R2 veröffentliche. Seit einer geraumen Weile ist es nun so, dass das Style der Seite anders aussieht, wenn ich die Seite auf dem Server 2008 hoste (ich verwende Themes und in einem anderen Projekt auch einzelne css-Dateien). Als Browser verwende ich den IE8.

Ich habe mal ein Teil-Screenshot eingestellt, mit derselben Seite, gehostet zum einen auf Server 2008, zum anderen auf Win7.

Wie man sieht sind Linien der Tabelle in einem dunkleren Grau dargestellt. Auch unter der blauen Linie über der Tabelle wird ein dunkler Strich angezeigt.
Generell ist auch auf anderen Seiten das Style verhauen. Bilder werden verschoben, margins und paddings werden scheinbar unterschiedlich ausgewertet. Das jedoch mit ein und demselben Browser.

Hat jemand schon so was gehabt? Kann sich das jemand erklären? Es gibt im IIS keine übergeordnete Webseite, von der eventuell Styles geladen werden könnten. Unter "http://localhost/" wird lediglich die Default IIS 7 Seite angezeigt. Schaut

G
538 Beiträge seit 2008
vor 12 Jahren

Ich frage mich grade von wo aus du schaust...
Wenn du nämlich auf dem Server auch den Browser benutzt kann das schon das Design beeinflussen.

Vielleicht schaust du mal in die IE Entwicklertools oder mit Firebug drauf, ob denn alle CSS geladen werden.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ich schaue beides Mal von meinen Win7 PC aus. Wenn ich über eine Remote-Desktopverbindung auf den Server gehe und dort die Seiten ebenfalls mit dem IE8 aufmache, wird die Seite komischerweise korrekt dargestellt.

G
538 Beiträge seit 2008
vor 12 Jahren

Dann schau mal nach, was so alles nicht geladen werden kann ...

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

G
538 Beiträge seit 2008
vor 12 Jahren

Ergänzend dazu:

Wichtige Tools für die WebProgrammierung (vor allem wenn was komisch ist):

  1. IE Developertools (F12 taste ab IE8)
  2. FireBug in Firefox
  3. Fiddler2 (kostenlos, super tool)

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ich habe die IE Developertools bereits genutzt. Mittels Paint.Net habe ich mir den Farbton der grauen Farbe ermittelt, es ist "A0A0A0", jedoch wird diese Farbe nirgendswo gesetzt. Wo kommt diese her? Auch so sind alle meine Definitionen für die Tabelle etc. korrekt. Ich sehe nicht was in den Styles fehlt, alles wird korrekt angezeigt.
Mit Firebug wird auch alles korrekt geladen, im Firefox wird es aber auch richtig dargestellt...

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ich habe jetzt durch Zufall etwas heraus bekommen. Rufe ich meine lokale Seite auf meinem Win 7 Rechner mit http://localhost/Projektname auf, dann sieht es aus wie auf dem Screenshot oben, also so wie es aussehen soll. Rufe ich das ganze mit der IP des Rechners statt mit localhost auf, dann sieht die Seite so aus wie auf dem Server...

Kann sich das jemand erklären?

G
538 Beiträge seit 2008
vor 12 Jahren

Ich würde noch immer nach CSS Dateien suchen deren Verweise nicht korrekt sind.
Hast du mal den Fiddler reingehängt und den unterschied untersucht?

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ich habe lediglich 2 css-Dateien und die sind vollständig. Den Fiddler habe ich noch nicht probiert. Aber zum Beispiel bei einem <hr> hängt er unter die eigentliche Linie noch eine graue Linie von der Farbe "#A0A0A0". Ich habe die Höhe des HR jetzt in der CSS auf 1 begrenzt, jetzt zeigt er es korrekt an. Wie gesagt habe ich für ein und sie selbe Seite die auf dem gleichen IIS auf dem gleichen Rechner laufen 2 verschiedene Ausgaben je nach Aufruf von http://localhost/Projektname oder http://MeineIpAdresse/Projektname

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ich habe jetzt rausgefunden woran das liegt. Im IE8 ist unter "Seite" --> "Einstellungen der Kompatibilitätsansicht" standardmäßig eingestellt, "Intranetsites in Kompatibilitätsmodus anzeigen". Sobald ich eine Seite mittels IP aufrufe gilt es als Intranetsite und somit wird diese halt im Kompatibilitätsmodus dargestellt, wodurch sich die Unterschiede ergeben.

16.807 Beiträge seit 2008
vor 12 Jahren

Als Hinweis: die sogenannte Compatibility-View gibt es in allen IEs ab IE8.
Man kann über ein meta-Tag die jeweilige Emulation erzwingen / verhindern.

<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7" />

oder

<meta http-equiv="X-UA-Compatible" content="IE=8" />

etc...

Dieses Tag ist höher priorisiert als die Policy-Einstellungen!

hurricane Themenstarter:in
379 Beiträge seit 2004
vor 12 Jahren

Ja danke das habe ich bereits gemacht - sorry das hatte ich vergessen zu posten.

G
538 Beiträge seit 2008
vor 12 Jahren

Und wie sorge ich dafür, dass niemals ein niedrigerer Modus genommen werden kann als mein aktueller Browser? IE=8 ist ja irgendwie .. veraltet ...

Also wie erreiche ich, dass er auf keinen Fall in den Kompatibilitätsmodus rutscht?

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

16.807 Beiträge seit 2008
vor 12 Jahren

Das waren nur Beispiele.

Um jeweils die aktuellste Engine zu nutzen, so müssen alle Versionen absteigend aufgerführt sein.

<meta http-equiv="X-UA-Compatible" content="IE=10; IE=9; IE=8; IE=7; IE=EDGE" />

Der IE nimmt dann die Version, die er hat. Ein 9er würde also die 10er überspringen und die 9 laden.