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

Joe Medley
Joe Medley

.

عدم السماح بطلبات XMLHTTPRequest() المتزامنة في عملية إغلاق الصفحة

لا يسمح Chrome الآن بطلبات XMLHTTPRequest() المتزامنة أثناء إغلاق الصفحة عندما ينتقل المستخدم بعيدًا عن الصفحة أو يغلقها. ينطبق ذلك على beforeunload وunload وpagehide وvisibilitychange.

لضمان إرسال البيانات إلى الخادم عند إزالة تحميل الصفحة، ننصحك باستخدام sendBeacon() أو Fetch keep-alive. في الوقت الحالي، يمكن لمستخدمي الإصدار الخاص بالمؤسسات استخدام علامة السياسة AllowSyncXHRInPageDismissal ويمكن للمطوّرين استخدام علامة الإصدار التمهيدي allow-sync-xhr-in-page-dismissal للسماح بطلبات XHR المتزامنة أثناء إزالة الصفحة من الذاكرة. هذا إجراء مؤقت لإيقاف الميزة، ونتوقع إزالة هذه الميزة في الإصدار 88 من Chrome.

لمعرفة التفاصيل حول هذا الإجراء والبدائل المتاحة، يُرجى الاطّلاع على المقالة حظر طلبات XMLHTTPRequest() المتزامنة أثناء إغلاق الصفحة.

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

إيقاف بروتوكول FTP نهائيًا

لا يتيح تطبيق FTP الحالي في Chrome اتصالات المشفَّرة (FTPS) أو الخوادم الوكيلة. إنّ استخدام بروتوكول FTP في المتصفّح منخفض بما يكفي لعدم جدوى الاستثمار في تحسين برنامج FTP الحالي. بالإضافة إلى ذلك، تتوفر برامج FTP أكثر كفاءة على جميع الأنظمة الأساسية المتأثرة.

أزالت الإصدار 72 من Chrome إمكانية جلب الموارد الفرعية للمستندات عبر بروتوكول FTP و عرض موارد FTP ذات المستوى الأعلى. يؤدي الانتقال حاليًا إلى عناوين URL الخاصة ببروتوكول FTP منجرًا إلى عرض قائمة دليل أو عملية تنزيل حسب نوع المورد. أدّى خطأ في الإصدار 74 من Google Chrome والإصدارات الأحدث إلى إيقاف إمكانية الوصول إلى عناوين URL لبروتوكول نقل الملفات (FTP) عبر الخوادم الوكيلة لبروتوكول HTTP. تمت إزالة ميزة الخادم الوكيل لخدمة FTP بالكامل في الإصدار 76 من Google Chrome.

تقتصر الإمكانات المتبقية لتنفيذ بروتوكول FTP في Google Chrome على عرض قائمة دليل أو تنزيل مورد عبر اتصالات غير مشفّرة.

تم تحديد المخطط الزمني لإيقاف الميزة نهائيًا بشكل مؤقت على النحو التالي:

Chrome 80 (الإصدار الثابت في شباط/فبراير 2020)

يكون بروتوكول FTP غير مفعَّل تلقائيًا لعملاء غير المؤسسات، ولكن يمكن تفعيله باستخدام علامتَي سطر الأوامر --enable-ftp أو --enable-features=FtpProtocol. بدلاً من ذلك، يمكن تفعيلها باستخدام الخيار #enable-ftp في chrome://flags.

الإصدار 81 من Chrome (الإصدار الثابت في آذار (مارس) 2020)

يكون بروتوكول FTP غير مفعّل تلقائيًا في جميع عمليات تثبيت Chrome، ولكن يمكن تفعيله باستخدام علامتَي سطر الأوامر --enable-ftp أو --enable-features=FtpProtocol.

Chrome 82 (الإصدار الثابت في نيسان (أبريل) 2020)

ستتم إزالة إمكانية استخدام بروتوكول FTP بالكامل.

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

عدم السماح بالنوافذ المنبثقة أثناء إلغاء تحميل الصفحة

قد لا تستخدم الصفحات الرمز window.open() لفتح صفحة جديدة أثناء إزالة التحميل. كان مانع النوافذ المنبثقة في Chrome يحظر ذلك من قبل، ولكن أصبح محظورًا الآن سواء كان مانع النوافذ المنبثقة مفعّلاً أم لا.

يمكن للمؤسسات استخدام علامة سياسة AllowPopupsDuringPageUnload للسماح بالنوافذ المنبثقة أثناء إلغاء التحميل. من المتوقّع أن يزيل Chrome هذا الإعداد في الإصدار 82.

Intent to Remove | Chromestatus Tracker | Chromium Bug

إزالة تسلسل ونقل ImageBitmap غير النظيف من المصدر

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

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

تتطلّب معالجة البروتوكول الآن سياقًا آمنًا.

تتطلّب الطريقتان registerProtocolHandler() وunregisterProtocolHandler() الآن سياقًا آمنًا. يمكن لهذه الطرق إعادة ضبط حالات العميل بحيث تسمح بنقل البيانات التي يُحتمل أن تكون حسّاسة عبر الشبكة.

تمنح الطريقة registerProtocolHandler() صفحة الويب آلية لتسجيل نفسها للتعامل مع بروتوكول بعد موافقة المستخدم. على سبيل المثال، يمكن لتطبيق بريد إلكتروني مستند إلى الويب التسجيل للتعامل مع مخطّط mailto:. تسمح طريقة unregisterProtocolHandler() المقابلة للموقع الإلكتروني بالتخلي عن تسجيله لمعالجة البروتوكول.

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

إزالة الإصدار 0 من Web Components

تمت إزالة الإصدار 0 من Web Components من Chrome. واجهات برمجة التطبيقات لمكونات الإنترنت الإصدار 1 هي أحد معايير منصّة الويب التي تم تضمينها في Chrome وSafari وFirefox و (قريبًا) Edge. للحصول على إرشادات حول الترقية، يُرجى الاطّلاع على تعديل على Web Components: مزيد من الوقت للترقية إلى واجهات برمجة التطبيقات من الإصدار 1. تمت الآن إزالة الميزة التالية: يشمل إيقاف هذه الميزة نهائيًا العناصر التالية:

العناصر المخصّصة

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

عمليات استيراد HTML

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

Shadow DOM

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

إزالة -webkit-appearance:button للعناصر العشوائية

تغيير -webkit-appearance:button للعمل مع الزرَّين <button> و<input> فقط إذا تم تحديد button لعنصر غير متوافق، سيظهر العنصر بأحد المظاهر التلقائية. تمّ تطبيق هذا القيد على جميع الكلمات الرئيسية الأخرى التي تتضمّن -webkit-appearance.

النية في الإزالة | حالة منصة Chrome | خطأ في Chromium

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

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

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

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

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

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

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