2008 8. Januar 2008
Ein paar Monate zuvor sahen wir, wie wir ein Stück von CSS, die sichtbar sein würde, nur IE6 (auch für Ihre IEs Nur ). Es gibt andere Wege, um dies auch zu erreichen. Einfach einen separaten CSS, speziell auf Ihre Ziel-IE. Dies könnte mit der so genannte Conditional Comments erreicht werden.
Conditional Comments ist ein Weg, um den Browser-Typ und-Version erkennen. Browser-Erkennung wird durchgeführt, um sicherzustellen, dass der Gehalt an den Browser spezifischen dargestellt. Browser-Erkennung kann mit vielen verschiedenen Techniken hergestellt werden. Diese Methode hat mehrere Vorteile gegenüber früheren Methoden, die Schalt-Stil mit Hilfe von JavaScript enthalten. Zur Liste wichtiger wenige, wäre;
- Scripting ist nicht erforderlich
- Cross-Browser
Wie tun wir das?
Tun Sie etwas in IE 5 nur
<!--[if IE 5]> Welcome to Internet Explorer 5. <![endif]-->
Tun Sie etwas in allen IE-Versionen
<!--[if IE]>
<link href="css/ie.css" rel="Stylesheet" type="text/css" />
<![endif]-->
Tun Sie etwas in allen IE-Versionen neuer, dass IE 5
<!--[if gte IE 5]>
<script type="text/javascript"><!--
alert("Congratulations! You are running Internet Explorer 5 or greater.");<br />
// --></script>
<![endif]-->
Für weitere bedingte vartiations, lesen Sie diese Informationen auf MSDN:
Über Conditional Comment
keine Kommentare | tags: IE Bugs , Fixes IE , IE Hacks , dh Fragen | posted in Browser Tücken , CSS , HTML , JavasScript
2007 9. September 2007
Haben Sie bemerkt, manchmal, wie einfach die Dinge einfach weigert, im IE6 zu arbeiten ... location.href ist nur so eine Sache.
Wenn Sie einen onclick-Funktion, um Ihren Anker-Tag wie unten hinzugefügt ...
<a href="javascript:void(0);" onclick="onClickLink('xxx');"> zum neuen Standort </ a>
Mit etwas Funktion wie diese ...
Funktion onclickLink (id) {
var uri = "test2.html id =?" + id;
window.location.href = URI;
}
Um Ihre Ironie, würden Sie feststellen, dass solch ein Stück einfaches Skript, um im IE funktionieren weigert sich ... Wohlan! Ich kann Gründe hier zu diskutieren, aber nicht, dass es sich lohnen ... Obwohl, ich weiß es scheinen, um eine Lösung zu haben ... (Ich wette, wenn Sie Javascript verstehen, werden Sie verstehen, warum fügen wir dies für den IE6 optimieren)
Die Lösung
<a href="javascript:void(0);" onclick="onClickLink('xxx'); Rückkehr false; "> neuen Standort zu gehen </ a>
Wenn Sie irgendwelche einfachen Antworten, bitte schreiben Sie einen Kommentar. Es wird wirklich appretiated, ich wette, die von vielen sein!
keine Kommentare | tags: IE Fixes , IE6 | posted in Browser Tücken , JavasScript
2007 8. September 2007
Wenn Sie geschrieben haben, während für CSS, müssten Sie erleben diese Zeiten, wenn Sie ziehen buchstäblich die Haare, wenn Ihr CSS-Layouts sah in allen neuen Browsern (ich meine Browser später als IE6) in Ordnung, aber IE 6 bekommt einen Wutanfall. Du hart kämpfen, um Ihre CSS anpassen, aber es funktioniert nicht ... Na ja! Versuchen Sie diese Hacks ...
1. Underscore Hack: -
Per Definition ermöglicht CSS 2.1-Spezifikation Unterstrich ("_") im CSS-IDs. Aber vielen Browsern immer noch scheinbar keinen identifiziert sich mit ein Unterstrich ignorieren ging aber IE. Dieses IE den Bug / Feature wird damit zu einem sehr klaren Weg, um CSS-Eigenschaften für IEs nur eingestellt werden. so denken Sie daran, eine CSS-Eigenschaft mit dem Unterstrich am Anfang geschrieben ist sichtbar für den Internet Explorer (alle Versionen, aber IE 7)
#box {
min-height: 300px;
height: auto;
_height: 300px; /* all IE versions less than version 7 */
...
}
Vorführung der dies zu unterstreichen hack
Auch die min-height Hack für IE6 Hack den Unterstrich verwendet, bitte zuerst
2. Raute (#) Hack: -
Wie der Hack zu unterstreichen, ist auch dieser ist für IES Oly, mit einem guten Unterschied, Sach-IDs mit # am Anfang vorausgegangen sichtbar für allen IE-Versionen ist, inklusive IE7 und ist für jeden anderen Standard-Browser unsichtbar.
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute; /* For IE only */
#top: 50%; /* For IE only */
#left:50%; /* For IE only */
}
Dieser Hack wurde schön, eine Cross-Browser-Lösung demonstrieren vertikalen Ausrichtung verwendet werden, haben einen Blick auf diese Artikel zu unseren mehr finden
3. CSS für IE6 nur: -
#my_bad_behaving_div {
/*something for all browsers*/
}
/* Lets use the * html hack so only IE6 reads the rule */
* html #my_bad_behaving_div{
/*something for IE6 only*/
}
Diese Hacks scheint Himmel gesandt, wenn es nicht anders geht ... Wenn eine dieser Hacks rettet euer Leben eines Tages, vergessen Sie nicht, mich zu einem Kaffee :) behandeln
keine Kommentare | tags: IE Bugs , Fixes IE , IE Hacks , dh Fragen | posted in Browser Tücken , CSS , JavasScript