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

جو ميدلي
جو ميدلي

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

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

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

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

نية الإزالة | حالة النظام الأساسي Chrome | خطأ Chromium

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

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

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

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

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

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

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

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

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

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

ستتم إزالة بروتوكول FTP تمامًا.

نية الإزالة | حالة النظام الأساسي Chrome | خطأ Chromium

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

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

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

هدف الإزالة | Chromestatus Tracker | خطأ Chromium

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

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

نية الإزالة | حالة النظام الأساسي Chrome | خطأ Chromium

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

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

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

نية الإزالة | حالة النظام الأساسي Chrome | خطأ Chromium

تمت إزالة الإصدار 0 من مكونات الويب

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

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

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