javascript - Hvordan får jeg alle understøttede CSS-egenskaber i WebKit?


I Firefox, Opera og IE kan jeg få dem via:

>> for (k in document.body.style) console.log(k)
-> opacity
   background
   height
   textAlign
   .
   ... long list ...
   .
   pointerEvents

I WebKit er resultatet helt anderledes:

>> for (k in document.body.style) console.log(k)
-> cssText
   length
   parentRule
   getPropertyValue
   getPropertyCSSValue
   removeProperty
   getPropertyPriority
   setProperty
   item
   getPropertyShorthand
   isPropertyImplicit

Opdatering: den seneste WebKit oplister CSS-egenskaber i HTMLElement.style på samme måde som alle andre browsere.

Svar #1

Svaret er

>> document.defaultView.getComputedStyle(document.body, '')
-> CSSStyleDeclaration
   0: "background-attachment"
   1: "background-clip"
   2: "background-color"
   3: "background-image"
   4: "background-origin"
   5: "background-position"
   6: "background-repeat"
   7: "background-size"
   8: "border-bottom-color"
   9: "border-bottom-left-radius"
   ...

Tak til Anton Byrna for hans løsning.

Én problem består stadig: getComputedStyle() returnerer ikke genveje som background og border.

Svar #2

Jeg er ikke sikker på JavaScript-adgangen, men du kan slå alle understøttede egenskaber op (selv de proprietære) her: CSS-egenskabsnavne.