Apakah ada cara untuk mendapatkan properti scrollHeight (https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight)?
Properti itu sendiri tidak akan menjadi masalah besar, Anda bahkan dapat menambal ini sendiri dengan mudah di created
callback. Namun, untuk properti scrollHeight yang akan mengembalikan sesuatu yang berguna, jsdom perlu mulai melakukan tata letak yang (setidaknya) jauh sekali, jika kita ingin mulai melakukannya.
Saya hanya ingin menggunakan scrollHeight untuk memeriksa apakah ada overflow di dalam div. Mungkin saya harus melihat PhantomJS/SlimerJS sebagai gantinya. Terima kasih atas jawabannya.
Apakah ada pula yang mengejeknya? Saya mencoba ini:
Object.defineProperties(window.HTMLElement.prototype, {
scrollHeight: {
get() {
return this._scrollHeight || 0;
},
set(val) {
this._scrollHeight = val;
}
}
});
Dan mendapat kesalahan: Cannot redefine property: scrollHeight
@leepowellcouk Sepertinya Anda lupa menambahkan configurable: true
ke konfigurasi Anda. Coba misalnya:
Object.defineProperty(HTMLElement.prototype, "scrollHeight", {
configurable: true,
get: function() {
return this._scrollHeight || 0;
},
set(val) {
this._scrollHeight = val;
}
});
Komentar yang paling membantu
@leepowellcouk Sepertinya Anda lupa menambahkan
configurable: true
ke konfigurasi Anda. Coba misalnya: