عمليات الإيقاف والإزالة في Chrome 71

Joe Medley
Joe Medley
.

يتضمّن الإصدار 71 من Chrome أيضًا تغييرات على cache.addAll() وimportScripts(). يمكنك الاطّلاع على مزيد من المعلومات حول ذلك في مقالة تعديلات على cache.addAll() وimportScripts() في الإصدار 71 من Chrome التي كتبها "جيف بوسنيك".

إزالة SpeechSynthesis.speak() بدون تنشيط المستخدم

يتم إساءة استخدام واجهة SpeechSynthesis بشكل نشط على الويب. هناك أدلة وقائعية تشير إلى أنّه بسبب إغلاق طرق التشغيل التلقائي الأخرى، يتم نقل إساءة الاستخدام إلى Web Speech API، التي لا تلتزم بقواعد التشغيل التلقائي.

تُعرِض الدالة speechSynthesis.speak() الآن خطأً إذا لم يتلقّ المستند تفعيل مستخدم. تم إيقاف هذه الميزة نهائيًا منذ الإصدار 70 من Chrome.

القرار بإيقاف الميزة نهائيًا | تتبُّع حالة Chrome | خطأ في Chromium

إزالة الإصدارات التي تتضمّن بادئات من واجهات برمجة التطبيقات

أزال Chrome الأسماء البديلة غير العادية واجهتَين قياسيتَين متوافقتَين على نطاق واسع.

WebKitAnimationEvent

تم استبدال WebKitAnimationEvent بالكامل ب AnimationEvent ، وهي واجهة الحدث المستخدَمة للأحداث ذات الصلة بحركات CSS. لا يتوفّر التنسيق المزوّد ببادئة إلا في Safari. لا يتيح Firefox وEdge سوى استخدام العلامة AnimationEvent بدون بادئة.

Intent to Remove | Chromestatus Tracker | Chromium Bug

WebKitTransitionEvent

تم استبدال WebKitTransitionEvent بالكامل بعلامة TransitionEvent ، وهي واجهة الحدث المستخدَمة للأحداث ذات الصلة بعمليات النقل في CSS (على سبيل المثال، transitionstart). لا يتوفّر النموذج المزوّد ببادئة إلا في Safari. لا يتيح Firefox و Edge سوى استخدام البادئة TransitionEvent بدون أي لاحقة.

Intent to Remove | Chromestatus Tracker | Chromium Bug

إزالة URL.createObjectURL من MediaStream

تمت إزالة الطريقة URL.createObjectURL() من واجهة MediaStream. تم إيقاف هذه الطريقة نهائيًا في عام 2013 وتم استبدالها بتحديد البثّ إلى HTMLMediaElement.srcObject. تمت إزالة الطريقة القديمة لأنّها أقل أمانًا، وتتطلّب طلبًا من العميل URL.revokeOjbectURL() لإنهاء البث. أما وكلاء المستخدمين الآخرين، فقد إما أوقفوا هذه الميزة نهائيًا (Firefox) أو أزالوها (Safari).

Intent to Remove | Chromestatus Tracker | Chromium Bug

إزالة document.origin

تمّت إزالة الموقع document.origin. لم يتم تنفيذ هذه السمة إلا في Chromium وWebKit. وهو متكرّر مع self.origin الذي يمكن استخدامه في سياقَي النافذة والعامل ويتوفّر نطاقه بشكل أوسع.

Intent to Remove | Chromestatus Tracker | Chromium Bug

الميزات التي سيتم إيقافها نهائيًا

لم يتم إيقاف أي ميزات نهائيًا في هذا الإصدار من Chrome. يوفّر تقرير "حالة النظام الأساسي في Chrome" قائمة بالميزات المتوقّفة نهائيًا من الإصدارات السابقة من Chrome.

سياسة الإيقاف النهائي

للحفاظ على صحة المنصة، نزيل أحيانًا واجهات برمجة التطبيقات من Web Platform التي انتهت صلاحيتها. يمكن أن تكون هناك عدة أسباب لإزالة واجهة برمجة التطبيقات، مثل:

  • وقد تم استبدالها لواجهات برمجة تطبيقات أحدث.
  • ويتم تعديلها لتعكس التغييرات في المواصفات من أجل تحقيق التوافق مع المتصفّحات الأخرى.
  • وهي تجارب مبكرة لم تنجح في متصفحات أخرى، وبالتالي يمكن أن تزيد من عبء الدعم لمطوّري الويب.

وستؤثّر بعض هذه التغييرات في عدد قليل جدًا من المواقع الإلكترونية. ولتخفيف المشاكل مسبقًا، نحاول إرسال إشعار مُسبَق للمطوّرين حتى يتمكّنوا من إجراء التغييرات المطلوبة لمواصلة تشغيل مواقعهم الإلكترونية.

يتّبع Chrome حاليًا عملية لإيقاف واجهات برمجة التطبيقات نهائيًا وإزالتها، وهي تتضمّن ما يلي بشكل أساسي:

  • يمكنك الإعلان عن ذلك في القائمة البريدية blink-dev.
  • يمكنك ضبط التحذيرات وتقديم المقاييس الزمنية في "وحدة تحكّم أدوات مطوّري البرامج في Chrome" عند رصد الاستخدام على الصفحة.
  • انتظِر وراقِب الميزة ثم أزِلها عندما ينخفض معدّل استخدامها.

يمكنك العثور على قائمة بجميع الميزات المتوقّفة نهائيًا على chromestatus.com باستخدام فلتر الميزات المتوقّفة نهائيًا والميزات التي تمت إزالتها من خلال تطبيق فلتر الميزات التي تمت إزالتها. سنحاول أيضًا تلخيص بعض التغييرات والأسباب ومسارات نقل البيانات في هذه المشاركات.