disabled = true kann dynamisch auf Stil gesetzt werden. Warum nicht statisch?

8

Um <style> Blöcke zu deaktivieren, erlauben alle Browser die Einstellung document.styleSheets[x].disabled = true . Nur IE erlaubt jedoch, dass diese Eigenschaft auf das Tag selbst gesetzt wird, <style disabled="true"> . Gibt es dafür in anderen Browsern einen Workaround? Es erscheint merkwürdig, dass etwas, das dynamisch erledigt wird, nicht auch statisch ausgeführt werden kann.

    
Lucent 22.04.2011, 15:52
quelle

4 Antworten

6

Das style -Element hat kein gültiges Attribut namens disabled . Aus der HTML-Spezifikation :

%Vor%

Die HTMLStyleElement DOM-Schnittstelle hat jedoch eine solche Eigenschaft. Aus der DOM-Spezifikation :

%Vor%

Verwechseln Sie ein HTML-Element nicht mit seinem Gegenstück im DOM. Es ist nicht "seltsam, dass etwas, das dynamisch erledigt wird, nicht auch statisch ausgeführt werden kann." Die HTML- und DOM-Spezifikationen wurden erstellt, um verschiedene Probleme zu lösen. HTML ist eine Auszeichnungssprache. Das DOM ist eine Konvention zum Darstellen und Interagieren mit den Objekten in einem Dokument.

    
Wayne Burkett 22.04.2011 16:00
quelle
2

Um es statisch zu machen, entfernen Sie einfach das style-Tag.

Alternativ können Sie den Stilknoten aus dem DOM entfernen und ihn erneut einfügen, um ihn wieder zu aktivieren.

    
cdeszaq 22.04.2011 15:54
quelle
2

Eine einfache Möglichkeit besteht darin, es zu einem alternativen Stylesheet mit einem anderen Titel als dem Hauptstilvorlagensatz zu machen. Dadurch werden Browser standardmäßig deaktiviert.

    
Boris Zbarsky 22.04.2011 18:28
quelle
0

Das Attribut media kann sowohl im HTML als auch in Javascript gesetzt werden. Die Idee ist, das Attribut media so zu setzen, dass das style-Tag nicht auf ein Gerät angewendet wird, um es zu deaktivieren.

Ich denke, es auf etwas Ungültiges wie media="bogus" oder media="none" zu setzen, ist riskant, da der Browser das Prädikat einfach ignorieren und den Stil auf alle Medientypen anwenden kann. Glücklicherweise ist die Einstellung einer maximalen Bildschirmbreite von einem Pixel durchaus zulässig, und in meinem Buch ist das so ähnlich wie das Deaktivieren des Stil-Tags.

%Vor% %Vor%
    
lampyridae 01.02.2018 16:54
quelle

Tags und Links