Problem: IE7 zeigt blanke Seite an...

Status
Nicht offen für weitere Antworten.

Hakku07

Grünschnabel
Hallo zusammen,
Ich habe hier eine stinknormale index.html erstellt, die auch prima in FF 2 und 3, Safari und Sogar IE6 funktioniert:





HTML:
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Der Buchladen Waldbr&ouml;l</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 7]>
<script defer type="text/javascript" src="script/pngfix.js"></script>
<![endif] !-->
</head>

<body>

<div id="wrapper">
<div id="header"></div>
<!-- #BeginLibraryItem "/Library/Navigation.lbi" --><ul id="navigation" style="display:inline">
      <li id="startseite"><a href="index.html"><span>Startseite</span></a></li>
	   <li id="uns"><a href="ueberuns.html"><span>&Uuml;ber uns</span></a></li>
	   <li id="team"><a href="dasteam.html "><span>Das Team</span></a></li>
	   <li id="buchtipp"><a href="buchtipp.html"><span>Buchtipps</span></a></li>
	   <li id="bestellen"><a href="bestellung.html"><span>Bestellen</span></a></li>
	   <li id="kontakt"><a href="kontakt.html"><span>Kontakt </span></a></li>
	  
	  </ul><!-- #EndLibraryItem --><div id="contentindex" style="display:inline"></div><!-- #BeginLibraryItem "/Library/Footer.lbi" -->
  <div id="footer">&copy; 2008 der buchladen Waldbr&ouml;l | <a href="kontakt.html">Kontakt</a> |<a href="Impressum.html"> Impressum</a></div>
<!-- #EndLibraryItem --></div>


</body>



Da ich einige transparente PNGs verwende hab ich ein Javascript angehängt, das mit der Transparenz funktioniert auch im IE6
Nur jetzt zeigt der IE7 nichts an, eine weiße Seite ist zusehen.

Wenn ich aber

<!--[if lt IE 7]>
<script defer type="text/javascript" src="script/pngfix.js"></script>
<![endif] !-->

entferne, dann gehts. D.h. wenn es da ist, zeigt IE7 weiß an, wenn es weg ist zeigt er die Seite an, aber dann zeigt IE6 keine Transparenzen an... was soll ich jetzt machen, damit beides funktioniert?

Danke schonmal!
 
Hi,

die Syntax des "Conditional Comments" lautet zum Schluß richtigerweise:

Code:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="script/pngfix.js"></script>
<![endif]-->
So erhält der IE7 auch die Chance, den Quellcode der Seite zu Ende zu parsen.

mfg Maik
 
Ein klein bischen Offtopic:
Halten sich die Browser eigentlich an die Conditional Comments?
Oder kann es passieren das es FF oder Opera oder welchem auch immer egal ist was da steht und doch das Script einbindet?

lg
 
Hi,

der "Conditional Comment" kommt aus dem Hause Microsoft, und da kannst du dir sicher sein, dass dieser ausschliesslich vom IE (Win) interpretiert wird. Für die übrigen Browser stellt diese Syntax einen Kommentar dar, dessen Inhalt von ihnen ignoriert wird.

Schau dir nur mal beispielsweise die HTML-Quellcodes von Stu Nicholls' CSS-Menüs an, in denen er den jeweiligen IE-Versionen mitteilt, was sie zusätzlich interpretieren sollen.

mfg Maik
 
Gute Frage, würde ich auch gerne Wissen.

Wie dem auch sei, sollte das Script ja auch für IE6 und nicht 7 sein oder? Dann solltest du es auch für IE6 einbinden ;)
HTML:
<!--[if IE 6]>
<script defer type="text/javascript" src="script/pngfix.js"></script>
<![endif]-->
Ansonsten lößt man solche Probleme einfach über CSS:
Code:
.irgendeineClass {
 background-image: url(image.png) !important;
 background-image: url(image.gif);
}
Das geht ja auch noch, abgesehen davon wer IE benutzt ist selber Schuld und wenn man nichtmal ne neue Version installieren kann, meine Herrn, dann weiß ich auch nicht.
 
Wie dem auch sei, sollte das Script ja auch für IE6 und nicht 7 sein oder? Dann solltest du es auch für IE6 einbinden ;)
HTML:
<!--[if IE 6]>
<script defer type="text/javascript" src="script/pngfix.js"></script>
<![endif]-->

Ansonsten lößt man solche Probleme einfach über CSS
Mit dem angewandten Operator "lt" (=less-than =kleiner als) vor der IE-Version "7" wird das Script ausschliesslich im IE6 und älter geladen.

Es soll Autoren geben, die es bevorzugen, die Fehlinterpretationen des IE in seinem spezifischen Stylesheet zu handeln, als im standardkonformen (validen) Stylesheet mit CSS-Hacks zu hantieren, die mitunter zu einem invaliden CSS führen.

mfg Maik
 
Ja ja, ich weiß mir wäre das auch total egal ob ein IE 6 user meine PNGs nicht richtig sehen kann, deshalb mache ich das auch nie. Aber es ist schneller als ein JS's wenn es also um die Performance geht, ist das total legitim Stylesheets zu schreiben und es ist glaub ich auch nicht invalid solche Styleangaben zu machen.
 
Meine Aussage bzgl. eines möglichen invaliden Stylesheets bezog sich auch nicht explizit auf deinen gezeigten Code-Schnipsel ;)

mfg Maik
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück