Есть ли способ получить свойство scrollHeight (https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight)?
Само свойство не будет иметь большого значения, вы даже можете довольно легко исправить это самостоятельно с помощью обратного вызова created
. Однако для свойства scrollHeight, которое могло бы возвращать что-то полезное, jsdom нужно было бы начать выполнять макетирование, которое (по крайней мере) очень далеко, если мы даже хотим начать это делать.
Я просто хотел использовать scrollHeight, чтобы проверить, есть ли переполнение внутри div. Возможно, мне придется вместо этого взглянуть на PhantomJS / SlimerJS. Спасибо за ответ.
Есть ли способ поиздеваться над этим? Я пробовал это:
Object.defineProperties(window.HTMLElement.prototype, {
scrollHeight: {
get() {
return this._scrollHeight || 0;
},
set(val) {
this._scrollHeight = val;
}
}
});
И получил ошибку: Cannot redefine property: scrollHeight
@leepowellcouk Похоже, вы забыли добавить configurable: true
в свой конфиг. Попробуйте, например:
Object.defineProperty(HTMLElement.prototype, "scrollHeight", {
configurable: true,
get: function() {
return this._scrollHeight || 0;
},
set(val) {
this._scrollHeight = val;
}
});
Самый полезный комментарий
@leepowellcouk Похоже, вы забыли добавить
configurable: true
в свой конфиг. Попробуйте, например: