Jsdom: لا تحتوي CSSStyleSheet على خصائص ownerNode أو href.

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

أعلم أن هذا المشروع يحتوي على إخلاء مسؤولية بشأن عدم دعم CSSOM بالكامل ، لكنني واجهت بعض الأخطاء أثناء محاولتي جعل HTML Inspector يعمل مع jsdom بدلاً من PhatomJS ، وقمت بتعقبه إلى عدم وجود هاتين الخاصيتين على CSSStyleSheet object.

مما يمكنني قوله ، فإن بقاعدة الشفرة لأعرفها على وجه اليقين.

function evaluateStylesheet(data, sheet, baseUrl) {
  // this is the element
  var newStyleSheet = cssom.parse(data);
  var spliceArgs = newStyleSheet.cssRules;
  spliceArgs.unshift(0, sheet.cssRules.length);
  Array.prototype.splice.apply(sheet.cssRules, spliceArgs);
  scanForImportRules.call(this, sheet.cssRules, baseUrl);

  // Add references to `this` and `baseUrl`.
  sheet.href = baseUrl;
  sheet.ownerNode = this;

  this.ownerDocument.styleSheets.push(sheet);
}

على أي حال ، لقد غير هذا العمل بالنسبة لي محليًا ، لذا آمل أن يكون الأمر بهذه البساطة. شكرا للنظر.

bug css important or easy

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

lexoyo أحتاج أيضًا إلى هذا وكنت أحاول النظر فيه - لكن لست متأكدًا من كيفية ...

يوجد ملف ، HTMLStyleElement-impl.js ، يستدعي createStylesheet () في helpers> stylesheet.js وهنا مجموعة من المهملات و TODO.

يبدو لي أنه يجب استخدام "cssom" بدلاً من ذلك ، والذي (يبدو أنه) يحتوي على ما نحتاجه - ولكن لست متأكدًا من كيفية استخدامه في الوقت الحالي. كما أنه ليس لدي المزيد من الوقت ، لذلك سأستقصي أكثر إذا كان بإمكاني الحصول على مزيد من الوقت. إذا كنت الرقم بها واسمحوا لي أن أعرف!

ال 4 كومينتر

مسكة جيدة. سأضع علامة على هذا على أنه خطأ ونأمل أن أحصل على نسخة مبدئية أكثر من الإصلاح الخاص بك قريبًا.

FWIW ، أعتقد أن السياسات عبر الأصل تملي عدم تضمين أوراق أنماط غير نفس الأصل في document.styleSheets . لست متأكدًا من كيفية تعامل jsdom مع أصل الملف الذي تتم معالجته ، لذلك قد يكون هذا صعبًا ، ولكن في كلتا الحالتين أعتقد أنه شيء يستحق وضعه في الاعتبار.

مرحبا
كنت على وشك تقديم مشكلة لهذا ، لا يزال ownerNode غير مدعوم ، أليس كذلك؟
إذا كان الأمر كذلك ، فسأكون سعيدًا لمحاولة إضافته
شكرا !

lexoyo أحتاج أيضًا إلى هذا وكنت أحاول النظر فيه - لكن لست متأكدًا من كيفية ...

يوجد ملف ، HTMLStyleElement-impl.js ، يستدعي createStylesheet () في helpers> stylesheet.js وهنا مجموعة من المهملات و TODO.

يبدو لي أنه يجب استخدام "cssom" بدلاً من ذلك ، والذي (يبدو أنه) يحتوي على ما نحتاجه - ولكن لست متأكدًا من كيفية استخدامه في الوقت الحالي. كما أنه ليس لدي المزيد من الوقت ، لذلك سأستقصي أكثر إذا كان بإمكاني الحصول على مزيد من الوقت. إذا كنت الرقم بها واسمحوا لي أن أعرف!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات