Typescript: إعلانات ResizeObserver API مفقودة

تم إنشاؤها على ١٣ نوفمبر ٢٠١٨  ·  21تعليقات  ·  مصدر: microsoft/TypeScript

شروط البحث

ResizeObserver

اقتراح

لا يتضمن lib.dom.ts إقرارات ResizeObserver API.

استخدم حالات

ResizeObserver هو شيء يحصل على بعض الدعم في 2018 ولم أجد أي ذكر حول ResizeObserver هنا.

قائمة تدقيق

اقتراحي يفي بهذه الإرشادات:

  • [x] لن يكون هذا تغييرًا جذريًا في شفرة TypeScript / JavaScript الموجودة
  • [x] لن يغير هذا سلوك وقت تشغيل كود JavaScript الموجود
  • [x] يمكن تنفيذ ذلك دون إصدار JS مختلفة بناءً على أنواع التعبيرات
  • [x] هذه ليست ميزة وقت تشغيل (على سبيل المثال ، وظائف المكتبة ، وبناء جملة غير ECMAScript مع إخراج JavaScript ، وما إلى ذلك)
  • [x] تتفق هذه الميزة مع بقية أهداف تصميم TypeScript .
lib.d.ts Question

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

حان الوقت لإضافته ، لقد تم شحنه إلى Safari الشهر الماضي. هذا يعني حرفيًا أن جميع المتصفحات تدعمه.

ال 21 كومينتر

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

نقوم بإنشاء lib على https://github.com/Microsoft/TSJS-lib-generator من ملفات IDL للويب المعيارية الآن. يحتوي هذا الملف على قائمة IDL التي ننشئ منها lib. بمجرد أن تصل الميزة ، على سبيل المثال ، whatwg common dom interfaces IDL ، سنقوم بمزامنتها ونحصل عليها. سيستغرق بعض الوقت (وربما دعمًا أفضل للمتصفح) حتى يحدث ذلك. أوصي فقط بإضافة الإعلانات الإضافية محليًا إلى مشروعك في هذه الأثناء ، لأنني لا أعتقد أننا سنأخذ العلاقات العامة لتجاوز شيء لا يزال قيد التجربة.

weswigham من الجيد معرفة! شكرا لك.

أوصي فقط بإضافة الإعلانات الإضافية محليًا إلى مشروعك في غضون ذلك

ما هو المكان الصحيح لوضع هذه التصريحات من منظور تنضيد؟ مع الأخذ بعين الاعتبار كود resize-Observer-polyfill

أي ملف في مشروعك سيفي بالغرض. كثير من الناس يوصون بـ globals.d.ts منفصل أو ما شابه لأشياء من هذا القبيل.

weswigham على ما يبدو يجب إعادة النظر في هذه الأيام؟

تدعمه جميع المتصفحات الرئيسية مع وضع النموذج الدائم في الاعتبار: Firefox (68-69) و Safari (Tech Preview للتوافر في Safari التالي ليتم تشغيله جنبًا إلى جنب مع MacOS Catalina دون شك) و Chrome و Edge w / Chromium وما إلى ذلك.

هناك أيضًا بيانات CaniUse محدثة حول هذه المسألة الآن ، IIRC: https://caniuse.com/#search = ResizeObserver

تم وضع علامة "سؤال" على هذه المشكلة ولم تشهد أي نشاط حديثًا. تم إغلاقه تلقائيًا لأغراض التدبير المنزلي. إذا كنت لا تزال تنتظر ردًا ، فعادةً ما تكون الأسئلة أكثر ملاءمة لتدفق التراص .

يجب إعادة فتح هذا ؛ أنا من رأيي أن سبب إغلاقها مشكوك فيه.

فرضية عدم إضافة واجهة لـ ResizeObserver API عفا عليها الزمن وتحتاج إلى تحديث.

/ cc weswigham

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

لا يزال يحمل علامة تجريبية على mdn ، لذلك لا. عندما يتم نقل المواصفات من حالة المسودة وقبولها ، يجب أن يتم سحب IDL المرتبط بها بواسطة TS وإدراجها تلقائيًا ، لكن هذا لم يحدث بعد.

weswigham MDN لم يعد يسرد واجهة برمجة التطبيقات هذه على أنها تجريبية. يتم حاليًا الحصول على "لا يمكن العثور على اسم 'ResizeObserver'" عند محاولة استخدام API مع TypeScript 3.7.2

يجب إعادة فتح هذه المشكلة لأنها لم تعد تجريبية وكل المتصفحات الرئيسية تدعمها.

وفقًا لـ MDN ، لا يزال هذا جزءًا فقط من مسودة المحرر ، ولا تدعمه جميع المتصفحات الرئيسية.

أتخيل أن ما يعيق الأشياء هو Safari الذي لن يدعمه حتى
2020 يجري على خارطة الطريق لعام 2020 ؛ دعم الحافة له مضمون
15 كانون الثاني (يناير) عندما يتم تعيين Edge Chromium على الإطلاق للجمهور مع ذلك
دعم ResizeObserver.

يوم الأربعاء 13 نوفمبر 2019 الساعة 1:00 صباحًا Martin Johns [email protected]
كتب:

وفقًا لـ MDN ، لا يزال هذا جزءًا فقط من مسودة المحرر ، وليس كلها
المتصفحات الرئيسية تدعمه.

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/microsoft/TypeScript/issues/28502؟email_source=notifications&email_token=AAJKUOAOKN35DZEYT26M6VLQTO6ZVA5CNFSM4GDOB24KYY3PNVWWK3TUL52HS4DFVREXG43VMVB5
أو إلغاء الاشتراك
https://github.com/notifications/unsubscribe-auth/AAJKUODKUSZ7BORN3AUGNKLQTO6ZVANCNFSM4GDOB24A
.

>

كيفن لوزاندير
[email protected] [email protected]

أي تحديثات هنا؟

هذه واحدة من أكثر المشكلات غرابة التي واجهتها. لقد سمعت الكثير عن واجهة برمجة التطبيقات هذه في العام الماضي حتى تكون غير مألوفة من خلال الكتابة المطبوعة

تقريبًا 80٪ https://caniuse.com/#search = ResizeObserver

حان الوقت لإضافته ، لقد تم شحنه إلى Safari الشهر الماضي. هذا يعني حرفيًا أن جميع المتصفحات تدعمه.

فوق

بينما لم يتم دمج الكتابة في الكتابة المطبوعة حتى الآن ، يمكنك استخدام حزمة من npm مع كتابة ResizeObserver: https://www.npmjs.com/package/@types/resize -observer-browser

للإضافة إلى ردdenexapp :

1) قم بتثبيت https://www.npmjs.com/package/@types/resize-observer-browser
2) /// <reference types="resize-observer-browser" /> أعلى الملف حيث تريد استخدامه.

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

القضايا ذات الصلة

weswigham picture weswigham  ·  3تعليقات

manekinekko picture manekinekko  ·  3تعليقات

jbondc picture jbondc  ·  3تعليقات

Antony-Jones picture Antony-Jones  ·  3تعليقات

bgrieder picture bgrieder  ·  3تعليقات