Matthias Herlitzius: Abfrage, ob CSS eingeschaltet ist

Wie kann ich denn Abfragen, ob bei dem verwendeten Browser CSS eingeschaltet ist ?

Hintergrund: Mehrere Objekte über <div> definiert, Positionierung dynamisch über
document.name.left bzw. name.style.left etc.

Ist bei dem Browser JavaScript aktiviert und CSS ausgeschaltet, werden die
per <DIV> positionierten Elemente natürlich der Reihenfolge nach dargestellt.
Wie kann ich dies abfangen, um ein einfaches GIF stattdessen einzublenden ?
(Wenn JavaScript ausgeschaltet ist, wird sowieso besagtes Ersatz-GIF eingeblendet).

Mit den MIME-Types habe ich das schon probiert, und habe leider kein passendes
Ergebnis gefunden.
Bin für jede Antwort / Tip dankbar.

Grüße

Matthias

  1. Hallo,

    das geht mit CSS wie mit Java nicht. Aus diesem Grunde: CSS wird von den Browsern auch als Java interpretiert, und ist auch ausgeschaltet, wenn Java aus ist - es ist aber an, wenn Java an ist.
    Somit bringt dir logischerweise eine Java-Abfrage, die überprüft, ob Java ein- bzw ausgeschaltet ist, nichts, weil es sie nicht gibt.

    Du könntest es aber mit dem <NOSCRIPT></NOSCRIPT>-Tag, der einen alternativen Text für Browser ohne JavaScript angibt, versuchen. Das würde dann in etwa so aussehen:

    <SCRIPT LANGUAGE="JavaScript">
    <!--
          document.print("Mit Javascript");
    // -->
    </SCRIPT>
    <NOSCRIPT>
          Ohne Javascript
    </NOSCRIPT>

    Ich hoffe, dir ein wenig weitergeholfen zu haben.

    Grüße,
      Florian Auer

    1. Hmm

      das siehst du etwas falsch , wenn man JavaScript
      deaktiviert ist automatisch auch CSS deaktiviert , aber
      man kann auch nur CSS deaktivieren während JavaScript
      noch aktiv ist (zumindest beim NC ).
      Beim IE kann man im Gegensatzt dazu JavaScript deaktivieren , aber CSS funzt noch.

      ne Lösung für die eigentlich Frage weiss ich allerdings
      auch nicht und wäre da selber auch dran interessiert..:)

      gruss
      Jens

      1. Hallo Jens,

        genau das meinte ich ja (JavaScript aktiviert, aber CSS deaktiviert) im Netscape.
        In dem Fall ist die Prüfung, ob der Browser JavaScript unterstützt, in Ordnung
        (Ist ja auch wirklich eingeschaltet), und er führt den js-code aus.
        Bloß hab ich mit DHTML eine  kleine Animation gebastelt, und dafür
        brauch ich nunmal css.
        Deshalb ist das Layout total verhauen, weil er die Elemente einfach in der
        Reihenfolge anzeigt, wie sie mit <div> definiert sind.
        Deshalb wollte ich für den Fall daß sowohl js als auch css deaktiviert sind (oder
        auch nur eins von beiden deaktiviert ist) eben ein einfaches, unanimiertes Ersatz-GIF
        anzeigen.

        Trotzdem danke für deine Antwort.

        Grüße

        Matthias

  2. Hallo Matthias!

    Wie kann ich denn Abfragen, ob bei dem verwendeten Browser CSS eingeschaltet ist ?

    So richtig wird das nicht funktionieren:

    <../../sfarchiv/1999_3/t05954.htm>

    Grüße
    Thomas

  3. hi,

    wenn Du Layer definiert hast, kannst Du deren Vorhandensein abfragen. Das Script muss aber hinter den DIV stehen:

    <DIV ID="ebene0">xxxxx</DIV>

    <SCRIPT LANGUAGE="JavaScript">
    if(document.ebene0 document.all.ebene0)alert("ja");
    </SCRIPT>

    Ohne CSS gibt es keine Layer, also kein alert, bzw irgendeine Funktion.

    Nachteil: die Info gibt es erst beim Lesen des Bodys, Du musst wahrscheinlich mit einer Weiterleitung (location.href="...";) arbeiten, weil Du zu diesem Zeitpunkt nichts mehr dynamisch reinschreiben kannst.

    Gruss  Joachim

  4. Matthias,

    was hältst du davon, wenn es denn keine sichere Erkennungsmethode gibt, deine Seitenbesucher beim Link entscheiden zu lassen, was sie sehen möchten:

    <a href...>dynamisch</a>
    <a href...>statisch</a>

    dann kannst du hinterher deine Hände in Unschuld waschen, wenn einer falsch klickt (soll ja vorkommen...) :-)

    Gruss
    Connie