IE6 / "Binär- und Skriptverhalten"???
Popeye
- javascript
Hallo Experten,
ich hoffe das steht richtig bei "Javascript"...
Folgendes Problem: Ich muss, damit meine Seite mit dem IE6 (und älter) brauchbar angezeigt wird, ein paar Maßnahmen treffen:
Ich frage also mit
<!--[if lt IE 7]>
ab, ob es sich um die bewussten Browser handelt, und gebe ihnen mit
<link rel="stylesheet" type="text/css" href="formateIE6noJS.css?">
ihre eigene CSS-Datei, in der z.B. ein paar halbtransparente .png-Grafiken weggemacht werden.
Nun will ich aber anderseits nicht ganz darauf verzichten, und also die tolle "IE7"-Erweiterung nutzen, wenn das möglich ist, sprich, wenn Javascript eingeschaltet ist.
<script src="IE7.js" type="text/javascript"></script>
und nun können wir ja ein paar Sachen doch noch machen, deshalb:
<script type="text/javascript">document.write('<link rel="stylesheet" type="text/css" href="formateIE6.css">');</script>
Das funktioniert auch soweit sehr schön. Schaltet der Nutzer "Active Scripting", und damit auch Javascript, aus, greift die "noJS"-CSS, und fertig.
Nun gibt es aber seltsame User, die "Active Scripting" an machen, aber "Binär- und Skriptverhalten" ausschalten. Nun versucht der Browser, Javascript auszuführen, was aber teilweise nicht klappt, vor allem die IE7-Erweiterung geht nicht.
Wer hat das Problem schon mal gehabt / gelöst, und kann mir einen Tip geben, wie ich z.B. feststellen kann, ob im Browser "Binär- und Skriptverhalten" aktiviert ist oder nicht, damit ich dem Browser die passende CSS geben kann?
Hi,
Wer hat das Problem schon mal gehabt / gelöst, und kann mir einen Tip geben, wie ich z.B. feststellen kann, ob im Browser "Binär- und Skriptverhalten" aktiviert ist oder nicht, damit ich dem Browser die passende CSS geben kann?
Also das Problem habe ich noch nicht gehabt (vielleicht tust Du für die IE-User auch etwas des Guten zuviel ;-)), aber das "Binär- und Skriptverhalten" (eingeführt mit IE6/SP2) steuert z.B. die Filterfunktionen.
Ich könnte mir also denken, daß man z.B. ein (ggf. nicht sichtbares Test-)Element transparent macht (obj.style.filter="Alpha(opacity=0)";) und dann mit currentStyle den aktuellen Wert ermittelt. Wenn Du Glück hast, sind diese Werte je nach Einstellung unterschiedlich.
Auf diese Weise kann man zumindest feststellen, ob der Konquerer opacity unterstützt (da hatte sich in der letzten Version ein Bug eingeschlichen).
Ansonsten programmier mal einen Filter, und schau, wie der IE hierbei reagiert.
Gruß, Cybaer
Hallo,
danke schon mal fürs Mitdenken.
Ich könnte mir also denken, daß man z.B. ein (ggf. nicht sichtbares Test-)Element transparent macht (obj.style.filter="Alpha(opacity=0)";) und dann mit currentStyle den aktuellen Wert ermittelt. Wenn Du Glück hast, sind diese Werte je nach Einstellung unterschiedlich.
Wenn ich noch mehr Glück habe, finde ich überhaupt erstmal raus, wie ich es schaffe "opacity" auszulesen, da klemmt es momentan bei mir.
Ansonsten programmier mal einen Filter, und schau, wie der IE hierbei reagiert.
Genau der Filter ist es ja vor allem, der mir die Probleme verursacht...
Schönen Gruß,
Popeye