Jsdom: ¿Alguna forma de obtener la propiedad scrollHeight?

Creado en 2 feb. 2015  ·  4Comentarios  ·  Fuente: jsdom/jsdom

¿Hay alguna forma de obtener una propiedad scrollHeight (https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight)?

feature layout

Comentario más útil

@leepowellcouk Parece que olvidó agregar configurable: true a su configuración. Pruebe, por ejemplo:

Object.defineProperty(HTMLElement.prototype, "scrollHeight", {
  configurable: true,
  get: function() {
    return this._scrollHeight || 0;
  },
  set(val) {
    this._scrollHeight = val;
  }
});

Todos 4 comentarios

La propiedad en sí no sería un gran problema, incluso podría parchear esto fácilmente usted mismo en la devolución created llamada

Solo quería usar scrollHeight para verificar si hay un desbordamiento dentro de un div. Probablemente tendré que mirar PhantomJS / SlimerJS en su lugar. Gracias por la respuesta.

¿Hay alguna forma de burlarse de ello? Probé esto:

Object.defineProperties(window.HTMLElement.prototype, {
  scrollHeight: {
    get() {
      return this._scrollHeight || 0;
    },
    set(val) {
      this._scrollHeight = val;
    }
  }
});

Y recibí el error: Cannot redefine property: scrollHeight

@leepowellcouk Parece que olvidó agregar configurable: true a su configuración. Pruebe, por ejemplo:

Object.defineProperty(HTMLElement.prototype, "scrollHeight", {
  configurable: true,
  get: function() {
    return this._scrollHeight || 0;
  },
  set(val) {
    this._scrollHeight = val;
  }
});
¿Fue útil esta página
0 / 5 - 0 calificaciones