פורסם: 12 במאי 2025
רכיב ה-HTML <permission>
המוצע עדיין נמצא בגרסת מקור לניסיון, כי צוות Chrome ממשיך לשפר אותו על בסיס התשתית שנוצרה בגרסת המקור לניסיון הראשונית.
בפוסט הזה נספר על שיפורים שנועדו לספק לכם יותר גמישות ושליטה כשאתם מבקשים הרשאות באפליקציות אינטרנט. סקירה מקיפה של ההיכרות עם רכיב <permission>
והיכולות הראשוניות שלו זמינה במאמר הקודם שלנו An origin trial for a new HTML <permission>
element (תקופת ניסיון של מקור לרכיב HTML חדש <permission>
).
תמיכה בתוכן לממשק משתמש חלופי
האלמנט <permission>
הוגדר בהתחלה כאלמנט ריק ללא תוכן עד Chrome 136. החל מ-Chrome 137 יש תמיכה בתוכן, ולכן חובה לסמן אותו באמצעות תגי פתיחה וסגירה:
<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
(גם אם כל אחד מהסוגים נתמך בנפרד, השילוב ביניהם לא נתמך).
שמות האירועים עודכנו
ב-Chrome 136, הוספנו שני אירועים חדשים במקום האירועים הקודמים:
onpromptdismiss
(מחליף אתondismiss
)onpromptaction
(מחליף אתonresolve
)
האירועים החדשים האלה מספקים סמנטיקה ברורה יותר ומתאימים יותר להתנהגות של הרכיב. האירועים הישנים יותר יוצאו משימוש ב-Chrome 138, ולכן מומלץ לעדכן את הגורמים המטפלים באירועים בהתאם.
תמיכה בסמלים
אנחנו פועלים להוספת תמיכה בסמלים ברכיב <permission>
,
במטרה להשיק אותה ב-Chrome 138. התכונה הזו מאפשרת להציג סמלים מוגדרים מראש שמתאימים לסוג ההרשאה, עם אפשרויות עיצוב מוגבלות כמו התאמות של צבע וגודל. אנחנו עדיין מנסחים את הפרטים המדויקים של ה-API. 
בדוגמאות הבאות אפשר לראות את ברירת המחדל, צבע מילוי שונה וצבע מילוי שקוף עם קו מתאר שחור.
עיצוב ברירת מחדל
צבע ברירת המחדל של הסמל זהה לצבע הטקסט של רכיב ההרשאה.
שינוי העיצוב
בדוגמאות הבאות מוצגים שינויים לדוגמה בסגנון ברירת המחדל.
שינוי צבע הסמל
::permission-icon {
fill: black;
}
שינוי המתאר של הסמל
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
השבתת הסמל
אחרי ההשקה, הסמל יופעל כברירת מחדל. אם רוצים להשבית את הסמל, אפשר לעשות זאת באמצעות ה-CSS הבא
::permission-icon {
display: none;
}
הנחיות עיצוב
הנחיות מקיפות לעיצוב הרכיב <permission>
, כולל שיטות מומלצות והגבלות, מפורטות ב<permission>
הנחיות לעיצוב.
במאמר הזה מפורטות הוראות שיעזרו לכם לעצב את הרכיב בצורה יעילה באפליקציות שלכם.
תמיכה מורחבת בפלטפורמות וביכולות
הרכיב <permission>
תומך עכשיו בפלטפורמות וביכולות נוספות:
- תמיכה ב-Android: הרכיב פועל עכשיו במכשירי Android, מה שמרחיב את אפשרויות השימוש בו בפלטפורמות שונות של משתמשים.
- תמיכה במיקום גיאוגרפי: עכשיו אפשר לבקש הרשאות באמצעות הרכיב
<permission>
עם מאפיין בוליאני נוסףpreciselocation
.type="geolocation"
המאפייןpreciselocation
משפיע רק על הניסוח של ההנחיה, אבל אנחנו פועלים באופן פעיל כדי להבחין בין הרשאות מיקום גסות ומדויקות בעדכונים עתידיים.
מסקנות
השיפורים האלה ברכיב <permission>
הם חלק מהמאמצים המתמשכים שלנו לייעל את בקשות ההרשאה ולשפר את חוויית המשתמש באינטרנט. אנחנו ממליצים לכם להתנסות בתכונות החדשות האלה ולשלוח לנו משוב כדי לעזור לנו לשפר ולפתח את היכולת הזו.