متصفح إيدج يوقف حدث unload افتراضياً: ماذا يفعل مطوّرو المواقع؟
أعلنت مايكروسوفت عبر مركز الرسائل الخاص بمديري النظم أن متصفح إيدج سيتوقف عن تشغيل معالجات حدث unload افتراضياً. ويبدأ الطرح التدريجي في سبتمبر 2026 ويُتوقع أن يكتمل في أكتوبر. بعد ذلك لن تعمل هذه المعالجات في الصفحات التي لا تفعّلها صراحةً عبر ترويسة Permissions-Policy.
السبب الذي تذكره الشركة أن هذا الحدث لا يمكن الوثوق به: المتصفحات وأنظمة التشغيل قد تعلّق الصفحة أو تغلقها دون أن يُطلق الحدث أصلاً. وهناك سبب آخر يتعلق بالأداء، فوجود معالج unload قد يمنع الصفحة من الاستفادة من ذاكرة التنقل الأمامي والخلفي (back/forward cache)، وهي التي تجعل الرجوع إلى صفحة سابقة فورياً.
المتأثرون هم كل من يملك مواقع عامة أو تطبيقات داخلية تحفظ بيانات المستخدم أو تحرّر موارد أو ترسل إحصاءات أو تُبلغ الخادم بانتهاء الجلسة اعتماداً على هذا الحدث دون بديل. وتشير مايكروسوفت إلى أن التأثير يشمل تطبيقات WebView2 وبيئات إيدج المُدارة أيضاً. وتوفّر الشركة حلاً مؤقتاً: سياسة مؤسسية اسمها ForcePermissionPolicyUnloadDefaultEnabled، أو تفعيل الحدث من الموقع نفسه، لكنها تصف الطريقتين بأنهما وسيلة انتقال لا حل دائم.
أما التوصية الفنية فهي نقل منطق الحفظ إلى الحدث visibilitychange واعتبار حالة الإخفاء آخر نقطة موثوقة للحفظ، واستخدام pagehide حين يلزم التعامل مع التنقل بشكل متوافق مع ذاكرة التنقل. كما تنصح بجرد التطبيقات التي تسجّل معالجات unload، بما فيها ما تضيفه مكتبات خارجية، واختبار السلوك بدونها.
وتذكر الرسالة أن التأثير النموذجي يظهر في تطبيقات تحفظ بيانات المستخدم أو تحرر الموارد أو ترسل إحصاءات الاستخدام أو تُبلغ الخدمات بانتهاء الجلسة. ومن الخطوات التي توصي بها: استخدام أدوات المطوّرين في إيدج لاكتشاف الصفحات التي تمنعها معالجات unload من ذاكرة التنقل، وتحديث معايير التطوير ووثائق الدعم والاختبار، وإبلاغ أصحاب التطبيقات وفرق الدعم والمستخدمين المتأثرين.
ماذا يعني هذا لشركتك؟
إذا كانت لديك بوابة موظفين أو نظام حجوزات أو لوحة تحكم تعمل داخل المتصفح، فاسأل فريقك التقني سؤالاً بسيطاً: هل يعتمد أي جزء منها على unload لحفظ مسودة أو إغلاق جلسة؟ قد لا تلاحظ المشكلة إلا حين يشتكي موظف من ضياع بيانات بعد إغلاق التبويب. الفحص مبكراً أرخص بكثير من إصلاح بيانات ضائعة، والتحويل إلى visibilitychange تعديل صغير نسبياً إذا خُطّط له قبل أن تظهر الأعطال. وإن كنت تعتمد على أنظمة جاهزة من طرف ثالث، فاطلب من المورّد تأكيداً مكتوباً بأنها لا تعتمد على هذا الحدث.
المصدر: رسالة مركز إدارة مايكروسوفت MC1449170 — https://mc.merill.net/message/MC1449170 ، ووثيقة مايكروسوفت للسياسة — https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies/forcepermissionpolicyunloaddefaultenabled









التعليقات (0)
لا توجد تعليقات بعد. كن أول من يعلق!
أضف تعليقك