Jsdom: أي طريقة للحصول على خاصية scrollHeight؟

تم إنشاؤها على ٢ فبراير ٢٠١٥  ·  4تعليقات  ·  مصدر: jsdom/jsdom

هل هناك طريقة للحصول على خاصية scrollHeight (https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight)؟

feature layout

التعليق الأكثر فائدة

leepowellcouk يبدو أنك نسيت إضافة configurable: true إلى التكوين الخاص بك. جرب على سبيل المثال:

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

ال 4 كومينتر

الخاصية نفسها لن تكون مشكلة كبيرة ، يمكنك حتى تصحيح هذا بسهولة تامة بنفسك في رد الاتصال 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;
  }
});
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات