"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > حوار Popver API VS مشروط: نفس الشيء ولكن مختلف

حوار Popver API VS مشروط: نفس الشيء ولكن مختلف

تم النشر بتاريخ 2024-11-07
تصفح:842

Popver API VS dialog Modal : Same Same but Different

كنت أقرأ في بعض مدونات أخبار التكنولوجيا وعثرت على عنوان Popover API الذي وصل إلى Baseline. لقد كنت في حيرة من أمري، خلال تعمقي الأخير في تطوير الواجهة الأمامية، واجهت مؤخرًا صعوبة بالغة في التعود على استخدام العناصر في HTML. أثناء تصفحي للمدونة، كنت في حيرة من أمري بشأن كيفية استخدامي للعنصر حتى الآن.

ليرة تركية؛ د

اختر

لـ:

  • النوافذ المنبثقة المشروطة التي تتطلب تركيز المستخدم
  • إمكانية الوصول والتفاعل مع لوحة المفاتيح

اختر نافذة منبثقة لـ:

  • النوافذ المنبثقة غير المشروطة مع الرفض الخفيف
  • سهولة التنفيذ مع الحد الأدنى من التعليمات البرمجية

عنصر

بحسب MDN عنصر الحوار

يمثل عنصر HTML مربع حوار مشروط أو غير مشروط أو مكون تفاعلي آخر، مثل تنبيه قابل للرفض أو مفتش أو نافذة فرعية.

يتم استخدام A بشكل عام ويتم عرضه فوق المحتوى عندما يحتاج موقع الويب إلى لفت انتباه المستخدم إلى شيء مهم. على سبيل المثال، الاشتراك في رسالة إخبارية، أو طلب (أشبه بالإجبار) لتعطيل أداة حظر الإعلانات، أو قبول الشروط والأحكام.

عنصر كعنصر مشروط

نظرًا لأنك ربما صادفت عدة مرات على مواقع ويب متعددة، سيتم رسم بعض هذه النوافذ المنبثقة على شاشتك بأكملها أثناء تعتيم الخلفية أو تعطيلها وتركيز المستخدم فقط على المهمة التي بين يديه، ويجب على المستخدم إما التجاهل (فقط إذا كان مسموحًا به) النافذة المنبثقة أو أدخل المعلومات المطلوبة حتى تختفي. يُطلق على هذا السلوك اسم "العنصر باعتباره مشروطًا". تظهر هذه العناصر المشروطة في الطبقة العليا من الصفحة.

//To open dialog as a modal.

dialog.showModal();

// To close the dialog.

dialog.close();
يمكن استبعاد العنصر

عند عرضه باستخدام طريقة showModal () باستخدام مفتاح esc. يتوقع مستخدمو لوحة المفاتيح مثل هذا السلوك الذي يجب الحفاظ عليه والذي يقدمه المتصفح. إذا كانت عدة مربعات حوار مشروطة مفتوحة، فسيتم إغلاق مربع الحوار الأخير فقط باستخدام مفتاح esc.

العنصر باعتباره غير مشروط

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

//To open dialog as a modal.

dialog.show();

// To close the dialog.

dialog.close();

مثال الكود

بعض القضايا

لقد واجهت صعوبة في فهم كيفية عمل واستخدام العناصر غير المشروطة. وفقًا لي، فإن العنصر غير المشروط يتصرف بشكل غير متسق ويحتاج إلى كود Javascript للتعامل مع مواقف مثل:

  • لا توجد وظيفة الفصل الخفيف. لن يؤدي النقر خارج النموذج إلى إغلاق ملف .
  • لا يتجاهل مفتاح esc ويحتاج إلى Javascript للتعامل مع هذا السيناريو.
  • تحتاج إلى إدارة مؤشر z يدويًا إذا كنت تريد رسم الطبقة العليا.

لدهشتي قامت واجهة برمجة تطبيقات popover بالرد على هذه المشكلات أو إصلاحها والمزيد....

واجهة برمجة التطبيقات المنبثقة

popover هي سمة يمكن إضافتها إلى أي سمة HTML. هنا مثال.


Popover content

الفرق الرئيسي بين العنصر المنبثق وعنصر

الفرق الرئيسي بين العنصر المنبثق وعنصر

هو أن العنصر المنبثق يكون دائمًا غير مشروط. يأتي عنصر مع سمة role=dialog، ويتم ربط سمة الدور هذه بعناصر HTML المختلفة وتتصرف بطريقة معينة. على سبيل المثال، h1 له دور رئيسي وله دور ربط/ارتباط. يُستخدم هذا الدور لتحديد ومساعدة التقنيات المساعدة مثل قارئات الشاشة على تحديد العناصر. ومع ذلك، فإن العنصر المنبثق هو سمة لعنصر HTML لأنه ليس له دور افتراضي مرتبط به. وهذا يساعد على إخفاء
في المثال أعلاه حتى يتم النقر فوق الزر.

يمكن استخدام السمة المنبثقة مع الحد الأدنى من التعليمات البرمجية، وبينما يمكن التحكم فيها باستخدام Javascript، فهي ليست مطلوبة في جميع الأوقات مثل

.

يمكن أن يكون للبوبوفر خاصيتين:
1.popover=auto: لديه وظيفة فصل الضوء ولا يتطلب أي تفاعل مع JS.
2.popover=manual: يحتاج إلى تفاعل جافا سكريبت مثل النقر على زر أو مؤقت لإغلاقه بشكل صريح.

يظهر الجزء المنبثق دائمًا في الطبقة العليا ولا داعي لتعيين فهرس z بشكل صريح.

مثال الكود:

يمكنك أن ترى أنه يمكنني تحقيق نفس السلوك بدون الحاجة إلى كود جافا سكريبت تقريبًا. يعد تصميم وإدارة النوافذ المنبثقة المختلفة أسهل بكثير.

بعض اعتبارات التصميم

يمكن أن يحتوي العنصر المنبثق على: مجموعة خلفية باستخدام CSS والتي يمكن استخدامها لتعتيم خلفية العنصر المنبثق أو جعلها رمادية اللون ولكن هذا لا يزيل وظيفة استبعاد الضوء منها، ولا يزال بإمكان المستخدم النقر خارجًا إذا كان العنصر المنبثق لأعلى والتفاعل مع العناصر الأخرى لصفحة الويب الخاصة بك. يجب أن تكون حذرًا للغاية أثناء تحديد متى تختار النافذة المنبثقة فوق

.

الشيء الرئيسي الذي يجب مراعاته هنا هو: هل المكون الذي يتم عرضه هو الشيء الوحيد الذي يجب التركيز عليه في الوقت الحالي؟ هل يمكن السماح للمستخدم بالتفاعل مع أي شيء آخر؟

خاتمة

في الختام، يوفر العنصر وواجهة برمجة التطبيقات المنبثقة خيارات متعددة لإنشاء نوافذ منبثقة تفاعلية في تطبيقات الويب الخاصة بك. ومن خلال فهم خصائصها المميزة وحالات الاستخدام، يمكنك اتخاذ قرارات مستنيرة لتحسين تجربة المستخدم وتبسيط عملية التطوير الخاصة بك.

مراجع

  1. مقارنة واجهة Popover API والعنصر
  2. تبدو مربعات الحوار والنوافذ المنبثقة متشابهة. كيف تختلف؟
  3. Popover API تصل إلى خط الأساس

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/decoders_lord/popver-api-vs-dialog-modal-same-same-but-different-2ig7?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3