Jsdom: أضف دعمًا لـ HTMLElement.dataset

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

يبدو حاليًا أن العناصر التي تم إرجاعها من document.createElement () لا تحتوي على أي خاصية .dataset ، وهو أمر غير متوقع (https://html.spec.whatwg.org/#dom-dataset).

best-fixed-by-webidl2js feature html living standard

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

+1 حقًا بحاجة إلى هذه الميزة

ال 14 كومينتر

الرجاء مراجعة المناقشة في # 963 ؛ هذا غير ممكن حتى يدعم V8 الوكلاء (وليس غير القياسي Proxy.create ، ولكن new Proxy ).

+1 حقًا بحاجة إلى هذه الميزة

مندهش جدًا من أن هذا لم يصل إلى المواصفات ، حتى الآن.

لماذا /lib/jsdom/browser/not-implemented.js لا يخطئ؟

لأولئك الذين يريدون ذلك ، استخدم _element_.setAttribute ("data-foo"، "bar")؛

أي تحديثات على هذا؟

يا فتى ، لقد أمضيت للتو ساعة في تصحيح هذا الشبح من مشكلة كان عارضها الوحيد أن العقدة كانت تنفد من الذاكرة. تبين أن السبب في ذلك هو استخدام dataset بدلاً من getAttribute . ربما من شأن التحذير المساعد في هذه الأثناء أن ينقذ الأشخاص من نفس التجربة؟ : - /

domenic وفقًا لهذا ، يتم دعم Proxy منذ العقدة 6.
هل لديك بعض الإرشادات حول كيفية تنفيذ ذلك حتى يسهل عليك المساهمة؟

idanen ستحتاج أولاً إلى تنفيذ واجهة DOMStringMap ، من النوع <a i="8">HTMLElement</a>.prototype.dataset . سيتطلب تنفيذ DOMStringMap بعد ذلك تغييرات في webidl2js لدعم كائنات النظام الأساسي القديمة (على النحو المحدد في Web IDL ) من خلال الوكلاء. تحتوي مواصفات Web IDL على إرشادات مفصلة حول ما يجب أن تفعله كل طريقة داخلية بالضبط. (بشكل أساسي ، تنتقل العناصر الموجودة في مواصفات Web IDL إلى webidl2js ، بينما تنتقل العناصر الموجودة في معيار HTML إلى jsdom.)

إذا كنت ستعمل على هذا ، فإنني أوصي أيضًا بتأسيس عملك على فرعي الذي نأمل أن يتم دمجه قريبًا.

TimothyGu شيء مثل دوم-توكن-قائمة ؟

idanen ، لا هذا شيء مختلف تمامًا.

واجهنا هذه المشكلة عند ترحيل مجموعة الاختبار الخاصة بنا إلى jsdom. إذا كان ذلك مفيدًا ، فإليك نموذج الكود الذي كتبته لتحويل dataset Getters والمستوطنين لاستخدام getAttribute و setAttribute : https://gist.github.com/schreifels/ eb6764b0435d9d830652cee7cb1132c1.

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