תאריך פרסום: 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, מה שמרחיב את אפשרויות השימוש בו בפלטפורמות שונות של משתמשים.
- תמיכה במיקום גיאוגרפי: עכשיו אפשר לבקש הרשאות
type="geolocation"באמצעות הרכיב<permission>עם מאפיין בוליאני נוסףpreciselocation. המאפייןpreciselocationמשפיע רק על הניסוח של ההנחיה, אבל אנחנו פועלים באופן פעיל כדי להבדיל בין הרשאות מיקום גסות ומדויקות בעדכונים עתידיים.
מסקנות
השיפורים האלה ברכיב <permission> הם חלק מהמאמצים המתמשכים שלנו לייעל את בקשות ההרשאה ולשפר את חוויית המשתמש באינטרנט. אנחנו ממליצים לכם להתנסות בתכונות החדשות האלה ולשלוח לנו משוב כדי לעזור לנו לשפר ולפתח את היכולת הזו.