חדש ב-Chrome 90

דברים שעליך לדעת:

  • יש ערך חדש למאפיין ה-CSS overflow.
  • השם של Feature Policy API השתנה ל-Permissions Policy.
  • יש גם דרך חדשה להטמיע את Shadow DOM ולהשתמש בו ישירות ב-HTML.
  • היו לי כמה מעילים כמעט זהים לזה בשנות ה-90.
  • ויש עוד הרבה יותר.

קוראים לי Pete LePage ואני אספר לכם כל מה שצריך לדעת למפתחים ב-Chrome 90, בסגנון שנות ה-90!

מניעת זליגה באמצעות overflow: clip

CSS IS AWESOME

CSS הוא כל זה ועוד הרבה יותר! אבל אני חושב שכל מפתח אינטרנט נתקל באירוע כזה בשלב מסוים. יש פוסט מעולה ב-CSS Tricks על דרכים שונות לטיפול ב-overflow, למשל באמצעות overflow: hidden או auto.

במפרט CSS Overflow יש נכס חדש בשם clip שפועל באופן דומה ל-hidden.

.overflow-clip {
  overflow: clip;
}
תיבה ריבועית עם טקסט CSS נהדר, שבו נהדר חורג מתוך התיבה

באמצעות overflow: clip אפשר למנוע כל סוג של גלילה בתיבת החיפוש, כולל גלילה פרוגרמטית. כלומר, התיבה לא נחשבת למאגר גלילה, והיא לא מתחילה הקשר עיצוב חדש. אם צריך, אפשר להחיל חיתוך על ציר יחיד באמצעות overflow-x ו-overflow-y.

אה, ותזכורת – יש גם את overflow-clip-margin, שמאפשרת להרחיב את גבולות הקליפ. האפשרות הזו שימושית במקרים שבהם יש זליגת דיו שצריכה להיות גלויה.

.overflow-clip {
  overflow: clip;
  overflow-clip-margin: 25px;
}
תיבה ריבועית עם טקסט CSS נהדר, שבו נהדר חורג מתוך התיבה

אפשר לראות את overflow: clip בפעולה בכתובת https://petele-css-is-awesome.glitch.me/

מדיניות התכונות נקראת עכשיו מדיניות ההרשאות

בגרסת Chrome 74 השקנו את Feature Policy API, שמאפשר להפעיל, להשבית ולשנות באופן סלקטיבי את ההתנהגות של ממשקי API מסוימים ותכונות אינטרנט בדפדפן. כללי המדיניות האלה הם חוזה ביןכם לבין הדפדפן. הם מעדכנים את הדפדפן לגבי הכוונה שלכם.

אם הקוד או אחת מהספריות של הצד השלישי שבהן אתם משתמשים מפירים את הכללים שבחרתם מראש, הדפדפן מבטל את ההתנהגות ומחליף אותה בחוויית משתמש טובה יותר, או פשוט חוסם את ה-API לגמרי.

החל מגרסה 90 של Chrome, שם ממשק ה-API של מדיניות התכונות ישתנה ל-Permissions Policy, וגם שם הכותרת של HTTP ישתנה. במקביל, הקהילה הגיעה להסכמה על תחביר חדש, שמבוסס על ערכים של שדות מובְנים ל-HTTP.

Chrome 90 ואילך

Permissions-Policy: geolocation=()

Chrome 89 ומטה

Feature-Policy: geolocation 'none'

במאמר מבוא למדיניות התכונות מוסבר איך משתמשים בתכונה הזו באתר.

Declarative Shadow DOM

Shadow DOM, שהוא חלק מהתקן של Web Components, מספק דרך להגדיר את היקף סגנונות ה-CSS להסתעפות ספציפית של DOM ולבודד את ההסתעפות הזו משאר המסמך. עד עכשיו, הדרך היחידה להשתמש ב-Shadow DOM הייתה ליצור שורש אובייקט ב-shadow באמצעות JavaScript.

const host = document.getElementById('host');
const opts = {mode: 'open'};
const shadowRoot = host.attachShadow(opts);
const html = '<h1>Hello Shadow DOM</h1>';
shadowRoot.innerHTML = html;

הפתרון הזה מתאים לעיבוד בצד הלקוח, אבל לא מתאים כל כך לעיבוד בצד השרת, כי אין דרך מובנית להביע שורשים מוצלים ב-HTML שנוצר בשרת. אבל החל מ-Chrome 90, עם Declarative Shadow DOM, אפשר להתחיל. אפשר ליצור שורשי צל באמצעות HTML בלבד.

Root צללי דקלרטיבי הוא רכיב <template> עם מאפיין shadowroot. הוא מזוהה על ידי מנתח ה-HTML ומוחל באופן מיידי בתור שורש הצל של רכיב ההורה שלו.

<host-element>
  <template shadowroot="open">
    <slot></slot>
  </template>
  <h2>Light content</h2>
</host-element>

טעינת הסימון של HTML טהור מובילה לעץ ה-DOM הזה:

<host-element>
  #shadow-root (open)
  <slot>
    ↳
    <h2>Light content</h2>
  </slot>
</host-element>

כך אנחנו נהנים מהיתרונות של האנקפסולציה וההקרנה של חריצי Shadow DOM ב-HTML סטטי. אין צורך ב-JavaScript כדי ליצור את כל העץ, כולל שורש הצל.

פרטים נוספים זמינים במאמר Declarative Shadow DOM באתר web.dev.

ונתונים נוספים

ויש עוד הרבה דברים.

כדי לשפר את הפרטיות ואפילו את מהירות הטעינה של משתמשים שמבקרים באתרים שתומכים ב-HTTPS, בסרגל הכתובות של Chrome נעשה שימוש ב-https:// כברירת מחדל. אם עדיין לא הגדרתם הפניה אוטומטית מ-HTTP ל-HTTPS, זה הזמן לעשות זאת.

בנוסף, מקודד AV1 מגיע עם Chrome למחשב, ומותאם במיוחד לשיחות ועידה בווידאו עם שילוב WebRTC.

קריאה נוספת

כאן מפורטות רק כמה מהנקודות העיקריות. בקישור הבא מפורטים שינויים נוספים ב-Chrome 90.

להרשמה

רוצים להתעדכן בסרטונים שלנו? נרשמתם לערוץ YouTube של מפתחי Chrome, ותקבלו התראה באימייל בכל פעם שנעלה סרטון חדש.

קוראים לי פיט לייפאג (Pete LePage), ואחרי שגרסת Chrome 91 תפורסם, אספר לכם מה חדש ב-Chrome.

הודעה מיוחדת

נהניתי מאוד לצלם את הפרק הזה של 'מה חדש ב-Chrome', שעוצב בסגנון שנות ה-90. תודה רבה ל-Sean Meehan על הרעיון ועל היכולת לאסוף את האנשים המדהימים שעזרו לנו לפתוח את מכונת הזמן ולחזור לשנת 1990.

GDS Design

  • Fola Akinola
  • Derek Bass
  • כריסטופר בודל
  • ניקולס קרוסיק (Nick Krusick)
  • Chris Walker

עיצוב סאונד ומוזיקה נוספת

  • Bryan Gordon

וכמובן, לורן בורגה (Loren Borja), לי קרות'רס (Lee Carruthers) ולוקאס הולצ'ק (Lukas Holcek) שעובדים על כל הסרטונים שלי בנושא 'חדש ב-Chrome' וגורמים לי להיראות הרבה יותר טוב ממה שאני באמת. תודה רבה!