Estoy tratando de anular los configuradores de algunas propiedades de estilo en javascript.
Aquí hay un ejemplo de lo que estoy haciendo.
const setDescriptor = Object.getOwnPropertyDescriptor(CSSStyleDeclaration.prototype, 'backgroundImage').set; Object.defineProperty(CSSStyleDeclaration.prototype, 'backgroundImage', { set: function (value) { const newValue = // Some sort of mutation to value setDescriptor.call(this, newValue); }, });Cuando intento ejecutar esto dentro de mi navegador, aparece el siguiente error:
TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'set')
Sé que la interfaz no tiene ninguna referencia a las propiedades de estilo.
Sin embargo, al acceder a una instancia de CSSStyleDeclaration desde CSSStyleRule.style, las propiedades existen.
¿Cuándo se llena esa instancia? ¿Cómo puedo anular los configuradores de las propiedades para todas las instancias nuevas y antiguas?