Jsdom: Existe alguma maneira de obter a propriedade scrollHeight?

Criado em 2 fev. 2015  ·  4Comentários  ·  Fonte: jsdom/jsdom

Existe uma maneira de obter uma propriedade scrollHeight (https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight)?

feature layout

Comentários muito úteis

@leepowellcouk Parece que você se esqueceu de adicionar configurable: true à sua configuração. Experimente, por exemplo:

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

Todos 4 comentários

A propriedade em si não seria um grande negócio, você mesmo poderia corrigir isso facilmente no retorno de chamada created . No entanto, para uma propriedade scrollHeight que retornaria algo útil, jsdom precisaria começar a fazer o layout que está (pelo menos) muuuuito longe, se quisermos começar a fazê-lo.

Eu só queria usar scrollHeight para verificar se há um estouro dentro de um div. Provavelmente terei que olhar para PhantomJS / SlimerJS em vez disso. Obrigado pela resposta.

Existe alguma maneira de zombar disso? Eu tentei isso:

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

E obteve o erro: Cannot redefine property: scrollHeight

@leepowellcouk Parece que você se esqueceu de adicionar configurable: true à sua configuração. Experimente, por exemplo:

Object.defineProperty(HTMLElement.prototype, "scrollHeight", {
  configurable: true,
  get: function() {
    return this._scrollHeight || 0;
  },
  set(val) {
    this._scrollHeight = val;
  }
});
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

vsemozhetbyt picture vsemozhetbyt  ·  4Comentários

lehni picture lehni  ·  4Comentários

kentmw picture kentmw  ·  3Comentários

JacksonGariety picture JacksonGariety  ·  4Comentários

domenic picture domenic  ·  3Comentários