Kai345: Abfrage, ob Styles aktiv sind

Grütze .. äh ... Grüße!

Ich habe mur gerade meine Site mal mit ohne ;) CSS, also deaktivierten Styles angeschaut (kann man ja in vielen Browsern aktivieren bzw. es gibt ja auch Browser, die kein CSS unterstützen.).

Per Javasript werden einige zusätzliche Elemente erzeugt, die eng mit Stylesheets zusammenhängen (Styleswitcher u.ä.), die aber in diesem Modus ziemlich sinnlos in der Site vor sich hin existieren, weil sie funktionslos sind.

Das ist potentiell verwirrend, daher meine Frage:

Kann man per JS irgendwie feststellen, ob CSS-Styles deaktiviert wurden und/oder überhaupt verfügbar sind?


Kai

--
What is the difference between Scientology and Microsoft? One is an
evil cult bent on world domination and the other was begun by L. Ron
Hubbard.
ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
  1. Hello out there!

    Kann man per JS irgendwie feststellen, ob CSS-Styles deaktiviert wurden und/oder überhaupt verfügbar sind?

    Fúe ein Element die angewandten Styels mit den im Autorenstylesheet gesetzten vergleichen ... Du warst doch in https://forum.selfhtml.org/?t=162112&m=1054669 selbst involviert.

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. Grütze .. äh ... Grüße!

      Kann man per JS irgendwie feststellen, ob CSS-Styles deaktiviert wurden und/oder überhaupt verfügbar sind?

      Fúe ein Element die angewandten Styels mit den im Autorenstylesheet gesetzten vergleichen ... Du warst doch in http://forum.de.selfhtml.org/my/?t=162112&m=1054669 selbst involviert.

      Nee, eben nicht, das hatte ich schon versucht. Wenn ich nach alert(objektreferenz.style) abfrage, erhalte ich sowohl in Opera wie auch in FF sowohl mit wie auch ohne stles das gleiche Ergebnis im Alert [object CSSStyleDeclaration]. Auch getComputedStyle liefert in beiden Fällen eine Rückgabe.

      Mag sein, daß es funktioniert, wenn ein Browser generell kein CSS beherrscht, aber dan kann ich gerade nicht prüfen.

      Offenbar ist es bei CSS-fähigen Browsern _so_ nicht unterscheidbar, wohl weil die Styles nur deaktiviert werden, aber generell noch vorhanden sind


      Kai

      --
      What is the difference between Scientology and Microsoft? One is an
      evil cult bent on world domination and the other was begun by L. Ron
      Hubbard.
      ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
      1. Hello out there!

        Fúe ein Element die angewandten Styels mit den im Autorenstylesheet gesetzten vergleichen ...

        Auch getComputedStyle liefert in beiden Fällen eine Rückgabe.

        Dann hast du nicht den _Wert_ einer Eigenschaft ausgelesen [</archiv/2007/7/t157244/#m1022912>] und mit dem im Autorenstylesheet gesetzten verglichen.

        See ya up the road,
        Gunnar

        --
        „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
        1. Grütze .. äh ... Grüße!

          Dann hast du nicht den _Wert_ einer Eigenschaft ausgelesen [/archiv/2007/7/t157244/#m1022912] und mit dem im Autorenstylesheet gesetzten verglichen.

          Ich hab schon verstanden was du meinst. Aber ich stelle nun einmal mehrere Sylesheets zur Verfügung, kann also nie sagen, welches Element gerade welchen Eigenschafts-Wert hat. Ach, was soll's .. dann bleiben die "toten" Elemente eben da. Wird eh niemand nutzen.


          Kai

          --
          What is the difference between Scientology and Microsoft? One is an
          evil cult bent on world domination and the other was begun by L. Ron
          Hubbard.
          ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
          1. Hello out there!

            Ich hab schon verstanden was du meinst. Aber ich stelle nun einmal mehrere Sylesheets zur Verfügung, kann also nie sagen, welches Element gerade welchen Eigenschafts-Wert hat.

            Dann gib doch in allen diesen Stylesheets für ein bestimmtes Element für eine bestimmte Eigenschaft denselben Wert an. Das kann durchaus einer sein, der sich aufs Layout gar nicht auswirkt: 'body {z-index: 42}'* oder sowas.

            See ya up the road,
            Gunnar

            * Ich gehe mal davon aus, dass 'body' nicht positioniert ist.

            --
            „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
            1. Grütze .. äh ... Grüße!

              Dann gib doch in allen diesen Stylesheets für ein bestimmtes Element für eine bestimmte Eigenschaft denselben Wert an. Das kann durchaus einer sein, der sich aufs Layout gar nicht auswirkt: 'body {z-index: 42}'* oder sowas.

              Ja, ich muß mal sehen, ob ich eine Eigenschaft finde, die ich dazu mißbrauchen kann.
              Ein schneller Blick über alle CSS-Eigenschaften bei selfhtml und css4you läßt mich da aber nicht allzu hoffnungsvoll sein, entweder ich benötige sie irgendwo, oder es ist eine Layout-Eigenschaft oder sie ist in manchen Browsern nicht verfügbar .. die Restmenge ist winzig. Für z-index müßte ich erst einiges in den stylesheets ändern, dann wäre das aber eine Alternative. Aber im Moment hab ich keine Lust dazu ;) Trotzdem danke, werde das im Auge behalten.


              Kai

              --
              What is the difference between Scientology and Microsoft? One is an
              evil cult bent on world domination and the other was begun by L. Ron
              Hubbard.
              ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
      2. Hallo Kai,

        Kann man per JS irgendwie feststellen, ob CSS-Styles deaktiviert wurden und/oder überhaupt verfügbar sind?

        Nee, eben nicht, das hatte ich schon versucht. Wenn ich nach alert(objektreferenz.style) abfrage, erhalte ich sowohl in Opera wie auch in FF sowohl mit wie auch ohne stles das gleiche Ergebnis im Alert [object CSSStyleDeclaration]. Auch getComputedStyle liefert in beiden Fällen eine Rückgabe.

        ich glaube, du hast Gunnar missverstanden. Natürlich liefert die Abfrage des style-Objekts bzw. der getComputedStyle-Methode "eine" Rückgabe. So wie ich seinen Satz:

        Fúe ein Element die angewandten Styels mit den im Autorenstylesheet gesetzten vergleichen ...

        trotz der ungewöhnlich vielen Tippfehler verstanden habe, solltest du nicht die Existenz dieser Objekte bzw. Methoden abfragen, sondern die tatsächlich wirksamen style-Eigenschaften via getComputedStyle() mit denen vergleichen, die aufgrund deines vorgegebenen Stylesheets theoretisch gelten *müssten*. Unterscheiden sich die Eigenschaften, ist CSS entweder deaktiviert oder gar nicht erst verfügbar.

        So long,
         Martin

        --
        Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.