IE8-noscript-ghost-bug
Matthias Apsel
- css
Om nah hoo pez nyeetz, alle!
Gibt es eine andere Lösung, als die Ersetzung durch per JS ausgeblendete Ersatz-Elemente?
Matthias
Hallo Matthias!
Gibt es eine andere Lösung, als die Ersetzung durch per JS ausgeblendete Ersatz-Elemente?
Ich habe zwar bislang selber noch nie mit diesem Bug zu tun gehabt (derer es anscheinend fast unendlich viele gibt), aber wenn ich die Beschreibung richtig verstanden habe, taucht der nur auf, wenn du dem Element entweder eine background-color oder eine border zuweist.
Beides sollte sich doch (zumindest für den IE 8) vermeiden/ umgehen lassen.
So auf Anhieb bspw. mit einem background-image anstelle von background-color.
Ich halte es persönlich eh immer so, dass IE User im Zweifelsfall "optische Abstriche/ Einbußen" in Kauf nehmen müssen (wo es mit vertretbarem Aufwand nicht anders geht).
Gruß Gunther
Hi,
Zitat:
“This will happen when you style the <noscript> element to have a background-color or a border, so as to have it clearly show up in the unfortunate case there is no script support.”
Gibt es eine andere Lösung, als die Ersetzung durch per JS ausgeblendete Ersatz-Elemente?
’türlich: Nicht das Noscript-Element selber stylen, sondern Kindelemente.
Sobald ich im Quellcode der obigen Seite <noscript class="noscript">…</noscript>
durch <noscript><span class="noscript">…</span></noscript>
ersetze, ist vom Bug nichts mehr zu sehen* – die gewünschte Formatierung, übertragen auf das Span-Element, ist aber gegeben, wenn JavaScript deaktiviert ist.
* getestet im IE8-Modus des IE9/Win7, sowie im IETester. Auch wenn man die Verlässlichkeit beider Testmethoden oftmals zurecht in Zweifel ziehen sollte, gehe ich – da beide in der Original-Version der Seite den Bug zeigen – davon aus, dass das auch in einem „echten“ IE analog funktionieren müsste.
MfG ChrisB
Om nah hoo pez nyeetz, ChrisB!
Danke.
Interessant dabei:
Der Selektor noscript .keinjs
läuft ins Leere.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
<style type="text/css">
noscript .keinjs {background: gold; border: 5px solid red;}
.keinjs {outline: 5px solid green;}
</style>
</head>
<body>
<noscript><span class="keinjs">kein JS</span></noscript>
</body>
</html>
Matthias
Der Selektor
noscript .keinjs
läuft ins Leere.
Mit FF15 nicht nachvollziehbar.
Om nah hoo pez nyeetz, 1UnitedPower!
Mit FF15 nicht nachvollziehbar.
Ich dachte, es sei klar, dass es ein IE-Problem ist ;-)
Matthias
Ich dachte, es sei klar, dass es ein IE-Problem ist ;-)
Ups, Huppala.
@@Matthias Apsel:
nuqneH
Gibt es eine andere Lösung, als die Ersetzung durch per JS ausgeblendete Ersatz-Elemente?
Ja:
<script>[code lang=javascript]document.documentElement.className += ' js';
</script>[/code]
und
.js .noscript
{
padding: 0;
border: none;
margin: 0;
}
Qapla'
<noscript class="noscript">
? Wozu sollte die Klasse gut sein? Ah, weil’s mit Typeselektor nicht funktioniert. WTF??
Om nah hoo pez nyeetz, Gunnar Bittersmann!
<noscript class="noscript">
? Wozu sollte die Klasse gut sein? Ah, weil’s mit Typeselektor nicht funktioniert. WTF??
Auch im IE10 funktioniert es mit dem Typselektor nicht. http://selfhtml.apsel-mv.de/noscript.html
Matthias