اعتبارًا من الإصدار 132 من Chrome، يمكن للمطوّرين المشاركة في إصدار تجريبي للمطوّرين لنهج جديد لنوافذ المنبثقة على الويب: النوافذ المنبثقة المقسّمة. تتوفّر هذه الفترة التجريبية للمطوّرين على أجهزة الكمبيوتر المكتبي فقط، ولا تتوفّر الميزة بعد على أجهزة Android.
النوافذ المنبثقة المقسّمة هي نوع جديد من النوافذ المنبثقة المصمّمة للتفاعلات قصيرة الأجل، مثل عمليات تسجيل الدخول أو تأكيدات سريعة. ويحمِّل محتوى الويب باستخدام ميزتَين فريدتَين:
لماذا نحتاج إلى النوافذ المنبثقة المقسّمة؟
تم تصميم النوافذ المنبثقة المقسّمة للحفاظ على خصائص الخصوصية لإطار DIV مقسّم وخصائص الأمان للنوافذ المنبثقة.
مع زيادة عدد المستخدِمين الذين يوافقون على التصفّح بدون ملفات تعريف الارتباط التابعة لجهات خارجية، قد تتوقّف عمليات المعالجة التي تعتمد على تخزين البيانات في نافذة منبثقة لاستردادها في سياق تابع لجهة خارجية لاحقًا (مثل الحفاظ على جلسة المستخدِم على مستوى المواقع الإلكترونية). تهدف ميزة "المنبثقة المقسّمة" إلى معالجة هذه المشكلة.
كيف تعمل النوافذ المنبثقة المقسّمة؟
يتم تقسيم مساحة تخزين النافذة المنبثقة المقسّمة إلى قسمين، أحدهما للمستخدم الذي فتح النافذة. يحدّ تقسيم مساحة التخزين من الوصول إلى البيانات على مستوى المواقع الإلكترونية، ما يقلل من مخاطر التتبّع وحملات هجوم حقن النصوص البرمجية. اطّلِع على كيفية تقسيم مساحة التخزين في المستندات.
لنفترض أنّ موقعًا إلكترونيًا على opener.example
يتضمّن محتوى من
third-party.example
. لعرض محتوى مخصّص على opener.example
، يجب أن تسجيل
الدخول إلى third-party.example
. عندما يتم
حظر ملفات تعريف الارتباط التابعة لجهات خارجية في متصفّح المستخدم، يكون المسار الحالي للنوافذ المنبثقة على النحو التالي:
- ينقر المستخدم على زر تسجيل الدخول.
- سيظهر لك مربّع حوار.
- يسجّل المستخدم الدخول من سياق المستوى الأعلى من
third-party.example
، ويتم كتابة ملف تعريف ارتباط مصادقة غير مقسَّم. - لا يمكن لمحتوى
third-party.example
المضمّن فيopener.example
الوصول إلى ملفات تعريف الارتباط ذات المستوى الأعلى المكتوبة علىthird-party.example
عند عرضه في سياق الطرف الأول. ويحدث ذلك لأنّ ملف تعريف الارتباط للمصادقة غير مقسّم، وبالتالي فهو ملف تعريف اتّصال تابع لجهة خارجية.
يتم تقسيم مساحة تخزين النافذة المنبثقة المقسّمة إلى النافذة المنبثقة. يؤدي ذلك إلى تغيير الخطوات 3 و4 من مسارات الإحالات الناجحة:
يسجّل المستخدم الدخول من سياق المستوى الأعلى من
third-party.example
. بما أنّه يتم فتحه في نافذة منبثقة مقسّمة، يتم تقسيم مساحة التخزين باستخدامopener.example
.يمكن لمحتوى
third-party.example
المضمّن فيopener.example
الوصول إلى ملف تعريف الارتباط الخاص به الذي تم ضبطه في النافذة المنبثقة، لأنّهما يتشاركان مساحة التخزين المقسّمة نفسها.
واجهة مستخدم شبيهة بواجهة المستخدم في وضع النافذة المنبثقة بالنسبة إلى علامة التبويب التي فتحت التطبيق
تهدف النوافذ المنبثقة المقسّمة إلى مساعدة المستخدم في فهم أنّ النافذة المنبثقة مرتبطة بالصفحة التي فتحتها:
- عندما ينتقل المستخدم إلى علامة تبويب أخرى، يصبح النافذة المنبثقة تلقائيًا غير مرئية وغير قابلة للوصول إليها، بالطريقة نفسها التي تظهر بها النافذة المنبثقة فقط عندما تكون علامة التبويب المفتوحة نشطة.
- عندما يعود المستخدم إلى علامة التبويب التي فتحت التطبيق، يتم عرض النافذة المنبثقة مرة أخرى.
- لا يمكن للمستخدم إجراء تغييرات في شريط عناوين المتصفّح للنافذة المنبثقة.
جرّبه الآن
يقدّم الإصدار 132 من Chrome إصدارًا تجريبيًا للمطوّرين لميزة "المنبثقات المقسّمة". وهذا يعني أنّ الميزة ستكون متاحة بعد تفعيل علامة. في ما يلي كيفية تجربة ملفّات البوبين التي تم تقسيمها:
- تأكَّد من استخدام الإصدار 132 من Chrome أو إصدار أحدث.
- انتقِل إلى
chrome://flags#partitioned-popins
وفعِّل علامة الميزة. - أعِد تشغيل Chrome.
- جرِّب الإصدار التجريبي.
استخدام النوافذ المنبثقة المقسّمة على موقعك الإلكتروني
لاستخدام نافذة منبثقة مقسّمة على موقعك الإلكتروني، يمكنك استدعاء طريقة window.open()
مع تمرير المَعلمة popin
:
window.open("third-party-popin.example", "_blank", "popin");
مشاركة ملاحظاتك
نحن بصدد استكشاف النوافذ المنبثقة المقسّمة ونبحث عن ملاحظات المطوّرين. في ما يلي بعض سيناريوهات حالات الاستخدام المحتملة:
- مسار مصادقة المستخدم: إذا كنت قد نفّذت عملية مصادقة مخصّصة، وتمت المصادقة على نطاق مختلف عن نطاق
موقعك الإلكتروني (على سبيل المثال، تسجيل دخول مستخدمي
site.example
علىauth-site.example
)، حاوِل فتح صفحة المصادقة في نافذة منبثقة لاستخدام ملف تعريف الارتباط الخاص بالجلسة في صفحة الفتح. - المحتوى المضمَّن: جرِّب استخدام النوافذ المنبثقة المقسّمة لعرض محتوى إضافي من تطبيق مصغّر تابع لجهة خارجية، مثل مربّع حوار للإعدادات أو صورة أو ملف PDF (أو محتوى آخر يتم تحميله عادةً في نافذة منبثقة)، ويتم عرضه في نافذة أكبر. في هذه الحالة، تهدف النوافذ المنبثقة المقسّمة إلى الاحتفاظ بحالة جلسة المستخدِم بين الأداة التابعة لجهة خارجية وموقعك الإلكتروني.
إذا كان لديك أيّ من هذه السيناريوهات في حلولك، أو كان لديك حالات استخدام أخرى في الاعتبار، أو أردت المساعدة في وضع مستقبل هذه الميزة، جرِّبها وأخبِرنا بما يلي:
- هل واجهت أي مشاكل؟
- هل لديك أي اقتراحات لتحسين تجربة المستخدم؟
- هل لديك أي اقتراحات لتحسين واجهة المستخدم؟ على وجه التحديد، هل ترى أنّ واجهة المستخدم تشير بوضوح إلى أنّ النافذة المنبثقة مرتبطة بالنافذة المنبثقة؟
- ما مدى فائدة هذه الميزة بالنسبة إليك؟
- هل هناك حالات استخدام أخرى تريد استخدام النوافذ المنبثقة المقسّمة فيها؟
يمكنك الإبلاغ عن مشكلة على GitHub لمشاركة أفكارك.