أعلم أن هذا المشروع يحتوي على إخلاء مسؤولية بشأن عدم دعم 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);
}
على أي حال ، لقد غير هذا العمل بالنسبة لي محليًا ، لذا آمل أن يكون الأمر بهذه البساطة. شكرا للنظر.
مسكة جيدة. سأضع علامة على هذا على أنه خطأ ونأمل أن أحصل على نسخة مبدئية أكثر من الإصلاح الخاص بك قريبًا.
FWIW ، أعتقد أن السياسات عبر الأصل تملي عدم تضمين أوراق أنماط غير نفس الأصل في document.styleSheets
. لست متأكدًا من كيفية تعامل jsdom مع أصل الملف الذي تتم معالجته ، لذلك قد يكون هذا صعبًا ، ولكن في كلتا الحالتين أعتقد أنه شيء يستحق وضعه في الاعتبار.
مرحبا
كنت على وشك تقديم مشكلة لهذا ، لا يزال ownerNode غير مدعوم ، أليس كذلك؟
إذا كان الأمر كذلك ، فسأكون سعيدًا لمحاولة إضافته
شكرا !
lexoyo أحتاج أيضًا إلى هذا وكنت أحاول النظر فيه - لكن لست متأكدًا من كيفية ...
يوجد ملف ، HTMLStyleElement-impl.js ، يستدعي createStylesheet () في helpers> stylesheet.js وهنا مجموعة من المهملات و TODO.
يبدو لي أنه يجب استخدام "cssom" بدلاً من ذلك ، والذي (يبدو أنه) يحتوي على ما نحتاجه - ولكن لست متأكدًا من كيفية استخدامه في الوقت الحالي. كما أنه ليس لدي المزيد من الوقت ، لذلك سأستقصي أكثر إذا كان بإمكاني الحصول على مزيد من الوقت. إذا كنت الرقم بها واسمحوا لي أن أعرف!
التعليق الأكثر فائدة
lexoyo أحتاج أيضًا إلى هذا وكنت أحاول النظر فيه - لكن لست متأكدًا من كيفية ...
يوجد ملف ، HTMLStyleElement-impl.js ، يستدعي createStylesheet () في helpers> stylesheet.js وهنا مجموعة من المهملات و TODO.
يبدو لي أنه يجب استخدام "cssom" بدلاً من ذلك ، والذي (يبدو أنه) يحتوي على ما نحتاجه - ولكن لست متأكدًا من كيفية استخدامه في الوقت الحالي. كما أنه ليس لدي المزيد من الوقت ، لذلك سأستقصي أكثر إذا كان بإمكاني الحصول على مزيد من الوقت. إذا كنت الرقم بها واسمحوا لي أن أعرف!