.
يتضمّن الإصدار 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 باستخدام فلتر الميزات المتوقّفة نهائيًا والميزات التي تمت إزالتها من خلال تطبيق فلتر الميزات التي تمت إزالتها. سنحاول أيضًا تلخيص بعض التغييرات والأسباب ومسارات نقل البيانات في هذه المشاركات.