XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   (X)HTML (http://xhtmlforum.de/forumdisplay.php?f=72)
-   -   Conditional Comments (http://xhtmlforum.de/showthread.php?t=44170)

Rico 28.01.2007 13:53

Conditional Comments
 
Hallo

ich glaube ich habe Tomaten auf den Augen
Code:

<!--[if gte IE 7]>
<div class="toplink"><a href="../../index.htm">Home</a><br>
<a href="#top">Top</a></div>
<![endif]-->

Das soll in IE7, FF, Netscape, Opera funktionieren, nicht aber IE <7. Tut es aber in keinem der genannten Browser.

Vielleicht kann mir jemand die Tomaten von den Augen nehmen ?

Gruss
Rico

klaros 28.01.2007 20:32

Conditional Comment
 
Hallo,

deine Bedingung "gte IE7" bedeutet >= 7

für < 7 brauchst du "lt IE7"

Webstandards-Projekt - Conditional Comments

Ich sehe gerade, dass du keine speziellen CSS-Definition mit den CC erreichen willst.
Deine genannten Browser außer dem IE reagieren GAR nicht darauf.

Was willst du denn mit der Abfrage erreichen?

Rico 28.01.2007 22:56

Zitat:

Zitat von klaros (Beitrag 322764)
Hallo,

deine Bedingung "gte IE7" bedeutet >= 7

für < 7 brauchst du "lt IE7"

Ich sehe gerade, dass du keine speziellen CSS-Definition mit den CC erreichen willst.
Deine genannten Browser außer dem IE reagieren GAR nicht darauf.

Was willst du denn mit der Abfrage erreichen?

gte IE7 ist schon richtig. Der HTML-Code soll für IE7 und spätere gelten. Für IE <7 aber nicht. FF, Netscape, Opera reagieren auf den Conditional comment. Sie blenden den HTML-Code ebenfalls aus. Ohne Conditional Comment funktioniert alles einwandfrei.

der HTML-Code + CSS bewirkt eine kleine fixe Box mit postion:fixed, die aber durch IE < 7 nicht interpretiert wird, also lasse ich sie für diese Browser weg.

Gruss Rico

klaros 29.01.2007 08:31

Conditional Comment
 
Hallo.

ich hoffe, ich habe es jetzt verstanden:

Die fixe Box soll von allen Browsern außer IE < IE7 angezeigt werden?

CC ist aber NUR für den IE. Die anderen Browser ignorieren es immer!
Da kannst du in den CC schreiben was du willst. Es wird z.B. im Firefox nix passieren.

Eine Browserweiche für die Darstellung deiner Box musst du anders realisieren.
Vielleicht fällt hier noch jemandem was anderes als Javascript ein.

andir 29.01.2007 08:48

Entweder mit Javacsript und document.write ( unsicher)
oder Element im Quelltext lassen und per CC eine eigene css-Anweisung für die IE-Browser <7 schreiben, z.B. display:none anstelle position:fixed ;)

RoToRa 29.01.2007 10:30

Code:

<!--[if gte IE 7]><!-->
...
<!--<![endif]-->

Robin

Rico 29.01.2007 17:32

Zitat:

Zitat von RoToRa (Beitrag 322813)
Code:

<!--[if gte IE 7]><!-->
...
<!--<![endif]-->

Robin

Danke! das ist es! Leider in der Literatur öfters falsch zitiert. Die meisten Anwender brauchen die CC offensichtlich um alternative CSS-Stylesheets auszuwählen. Das zeigen auch die Antworten auf diesen Thread. Das Beispiel zeigt aber, das es öfters besser ist CC direkt im (X)HTML-Code zu verwenden.

Offensichtlich verstehen alle Browser CC, denn ich habe den obigen HTML-Code testhalber in eine HTML-Seite gepackt und die Seite per
Zitat:

<!--webbot bot="Include" u-include="../toplink.htm" tag="BODY" -->
eingefügt.
Bei allen Browsern funktioniert dies einwandfrei. Dies stammt zwar von Frontpage, hat damit aber nichts zu tun. Auch Dreamweaver verwendet CC in ähnlicher Weise mit Bibliotheken.

Gibt es irgendwo im Web ein Tutorial zu CC und der Verwendung in versch. Browsern? Könnte man ev. boolschen Opereatoren im CC verwenden? Wenn das funktionieren würde, hätte man ein starkes Instrument um direkt im HTML-Code gezielt Anpassungen an Browser-Varianten zu machen

Gruss Rico

fricca 29.01.2007 17:58

Zitat:

Zitat von Rico (Beitrag 322886)
Offensichtlich verstehen alle Browser CC,

Nein.
About Conditional Comments

Zitat:

<!--webbot bot="Include" u-include="../toplink.htm" tag="BODY" -->
Das ist ein Kommentar. Aber kein bedingter.
Zitat:

Bei allen Browsern funktioniert dies einwandfrei.
Definiere "funktioniert".

RoToRas Lösung ist für normale Browser nichts anderes als zwei Kommentare.
Es wird *keine* Bedingung ausgewertet.

Rico 30.01.2007 02:37

Zitat:

Zitat von fricca (Beitrag 322897)
RoToRas Lösung ist für normale Browser nichts anderes als zwei Kommentare. Es wird *keine* Bedingung ausgewertet.

RotToRas Lösung hat den gewünschten Effekt, ist aber nicht valide. Für IE <7 werden die beiden HTML-Zeilen ausgeblendet. Bleiben aber bei FF, Netscape, Opera erhalten.

Zitat:

<!--[if gte IE 7]>
<div class="toplink"><a href="../../index.htm">Home</a><br>
<a href="#top">Top</a></div>
<![endif]-->
gemäss Standard werden die beiden HTML-Zeilen bei FF, Netscape, Opera ebenfalls unterdrückt.

Nun bin ich so schlau wie zuvor.

Gruss Rico

andir 30.01.2007 09:05

Sag ich doch.
Per CC HTML-Code (invalide) einbinden birgt Probleme.

Lieber per CC und css für entsprechende Browser verstecken :)
DAS funktioniert soweit es die IE's betrifft, zuverlässig.

Das ist kein Widerspruch. Der eine Teil der Browser und Nutzer soll es ja sehen und nutzen, der Rest nicht.

Alternative wäre eine php-Browserabfrage und entsprechende Nachfolgeanweisungen. Aufwändig und bekanntermaßen nicht perfekt zuverlässig.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:11 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023