Hack

  • Was sind htc-Dateien?

    Der behavior-Filter kommt aus dem Hause Microsoft (siehe Introduction to DHTML Behaviors), er wird ausschliesslich vom IE interpretiert, und stellt keinen Bestandteil der CSS-Spezifikation dar.

    Mit diesem Filter lässt sich über eine *.htc-Datei ein Verhalten für ein Element beschreiben.

    In der Vergangenheit wurden viele Browser-Probleme im IE über die Verwendung des behavior-Filters mit der passenden htc-Datei kaschiert.

    Beispiele

    • der bekannteste Hack ist wohl - iepngfix.htc - für den IE 5+, der Transparenzen sehr kreativ, aber nicht transparent dargestellt hat. In den aktuellen IE-Versionen ist dieser Hack allerdings nicht mehr notwendig.
       
    • ein altbekanntes Beispiel ist auch der csshover.htc-Hack für den IE (<7), der die :hover-Pseudoklasse neben dem a-Element für die übrigen HTML-Elemente nicht unterstützt.
      s.a. http://peterned.home.xs4all.nl/csshover.html


    Aktuell wird dieses Verfahren für die Anwendung der neuen CSS3-Eigenschaften sogar in 2 verschiedenen Versionen angeboten.

    Beide Hacks beschränken sich auf die Umsetzung der "runden Ecken" und Schatten. Für die durchaus interessantere und vermutlich auch schwierigere Umsetzung der 3D-Funktionalitäten (perspektive, transform, ..) habe ich bisher noch keinen Hack für den IE8 oder 9 im Internet gefunden. Schade.

    Auf den Entwicklerseiten von Microsoft wird die Umsetzung der neuen CSS3 Funktionalität bereits angekündigt und beschrieben, aber bekommen können wird diese erst ab dem E10.

     

    Anmerkung

    Für HTC-Dateien gelten erhöhte Sicherheitsmerkmale. Das bedeutet, dass sich die HTC-Dateien auf dem selben Server befinden müssen, auf dem sich das aufrufende Dokument befindet. Außerdem muss es sich bei der Verbindung auch um das gleiche Protokoll und die gleiche Domain handeln.

    Da es sich bei HTC-Dateien um XML handelt und müssen auch die Regeln von XML beachtet werden, z.B. 

    • /> bei leeren Elementen,
    • Anführunsgezeichen

     



     

     

     

^