تاريخ النشر: 12 مايو 2025
لا يزال عنصر HTML <permission>
المقترَح في مرحلة التجربة والتقييم، إذ يعمل فريق Chrome على تحسينه استنادًا إلى الأساس الذي تم وضعه في مرحلة التجربة والتقييم الأولية.
تتضمّن هذه المشاركة تحسينات تهدف إلى منحك المزيد من المرونة والتحكّم عند طلب الأذونات في تطبيقات الويب. للحصول على نظرة عامة شاملة حول طرح العنصر <permission>
وإمكاناته الأولية، يُرجى الرجوع إلى مقالتنا السابقة تجربة أصلية لعنصر HTML جديد <permission>
.
المحتوى المتوافق مع تجربة المستخدم الاحتياطية
تم في البداية تعريف العنصر <permission>
كعنصر فارغ بدون محتوى حتى الإصدار 136 من Chrome. بدءًا من الإصدار 137 من Chrome، أصبح بإمكانك استخدام هذا النوع من الترميز مع المحتوى، ما يعني أنّه أصبح إلزاميًا ترميزه باستخدام علامات الفتح والإغلاق:
<permission>
<!-- optional content -->
</permission>
يتيح لك هذا التغيير تضمين واجهات مستخدم احتياطية ضمن محتوى العنصر. يتم عرض هذه العناصر الاحتياطية في المتصفحات التي لا تتوافق مع العنصر <permission>
أو عند تحديد السمة type
غير المتوافقة.
يضمن ذلك تدهورًا أكثر سلاسة في الأداء وتحسين تجربة المستخدم على مستوى بيئات المتصفحات المختلفة.
<!-- Invalid `type` attribute value -->
<permission type="not-supported">
<p>Your browser does not support the specified <code>type</code>.</p>
</permission>
رصد أكثر تفصيلاً للميزات الآلية
لمساعدتك في تحديد ما إذا كان الجهاز يتيح أنواعًا معيّنة من الأذونات، قدّمنا طريقة ثابتة، isTypeSupported()
:
HTMLPermissionElement.isTypeSupported('geolocation');
تعرض هذه الطريقة قيمة منطقية تشير إلى ما إذا كان نوع الإذن المحدّد متوافقًا أم لا. بالإضافة إلى ميزة رصد الميزات الحالية، typeof
HTMLPermissionElement !== 'undefined'
، يمكنك الآن التأكّد آليًا من توفّر كل من دعم العنصر <permission>
ودعم أنواع أذونات معيّنة.
يُرجى العِلم أنّه يمكنك أيضًا تمرير أنواع أذونات متعدّدة مفصولة بمسافات (على سبيل المثال، "camera microphone"
)، وسيعرض ما إذا كانت السلسلة الإجمالية قيمة "type"
صالحة. على سبيل المثال، يؤدي استدعاء isTypeSupported()
مع المعلّمات التالية إلى عرض هذه النتائج:
"camera"
←true
"geolocation"
←true
"camera geolocation"
→false
(على الرغم من أنّ الأنواع متوافقة بشكل فردي، إلا أنّ التركيبة غير متوافقة).
أسماء الأحداث المعدَّلة
في الإصدار 136 من Chrome، قدّمنا حدثَين جديدَين ليحلّا محل الأحداث السابقة:
onpromptdismiss
(يحلّ محلّondismiss
)onpromptaction
(يحلّ محلّonresolve
)
توفّر هذه الأحداث الجديدة دلالات أوضح وتتوافق بشكل أفضل مع سلوك العنصر. سيتم إيقاف الأحداث القديمة نهائيًا في الإصدار 138 من Chrome، لذا ننصحك بتعديل معالِجات الأحداث وفقًا لذلك.
إتاحة استخدام الرموز
نعمل على إتاحة إمكانية استخدام الرموز داخل العنصر <permission>
،
ومن المفترض أن يتوفّر ذلك في الإصدار 138 من Chrome. ستتيح لك هذه الميزة عرض رموز محدّدة مسبقًا تتوافق مع نوع الإذن، مع خيارات محدودة لتنسيقها، مثل تعديل اللون والحجم. لا تزال التفاصيل الدقيقة لواجهة برمجة التطبيقات قيد الانتهاء. 
تعرض الأمثلة التالية الشكل التلقائي ولون تعبئة مختلفًا وعدم توفّر لون تعبئة مع خطوط خارجية سوداء.
النمط التلقائي
يكون لون الرمز التلقائي هو نفسه لون نص عنصر الإذن.
النمط المعدَّل
تعرض الأمثلة التالية تعديلات نموذجية على النمط التلقائي.
تغيير لون الرمز
::permission-icon {
fill: black;
}
تغيير مخطط الرمز
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
إيقاف الرمز
بعد إطلاقها، سيتم تفعيل الرمز تلقائيًا. إذا أردت إيقاف الرمز، يمكنك إجراء ذلك باستخدام رمز CSS التالي
::permission-icon {
display: none;
}
إرشادات النمط
للحصول على إرشادات شاملة حول تصميم العنصر <permission>
، بما في ذلك أفضل الممارسات والقيود، يُرجى الرجوع إلى إرشادات تصميم العنصر <permission>
.
يقدّم هذا المرجع تعليمات مفصّلة لمساعدتك في تصميم عنصر
بفعالية ضمن تطبيقاتك.
توسيع نطاق دعم المنصات والإمكانات
يتوافق العنصر <permission>
الآن مع منصات وإمكانات إضافية:
- التوافق مع Android: أصبح العنصر يعمل الآن على أجهزة Android، ما يوسّع نطاق استخدامه على مختلف المنصات التي يستخدمها المستخدمون.
- إتاحة تحديد الموقع الجغرافي: يمكنك الآن طلب
type="geolocation"
الأذونات باستخدام العنصر<permission>
مع سمةpreciselocation
منطقية إضافية. مع أنّ السمةpreciselocation
تؤثر فقط في صياغة الطلب، نعمل حاليًا على التمييز بين أذونات الموقع الجغرافي التقريبي والدقيق في التحديثات المستقبلية.
الاستنتاجات
تشكّل هذه التحسينات على العنصر <permission>
جزءًا من جهودنا المتواصلة لتبسيط طلبات الأذونات وتحسين تجربة المستخدم على الويب. نشجّعك على تجربة هذه الميزات الجديدة وتقديم ملاحظاتك لمساعدتنا في تحسين هذه الميزة وتطويرها.