אם לא צוין אחרת, השינויים הבאים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות שמפורטות כאן בקישורים המצורפים או ברשימה באתר ChromeStatus.com. גרסת הבטא של Chrome 123 זמינה ב-21 בפברואר 2024. ניתן להוריד את הגרסה העדכנית ביותר מ-Google.com למחשב או מחנות Google Play ל-Android.
CSS
בגרסה הזו נוספו חמש תכונות CSS חדשות.
פונקציית הצבע של light-dark()
ב-CSS
הפונקציה light-dark()
ב-CSS מאפשרת למפתחים להתאים בקלות את סכימת הצבעים להעדפות המשתמש במצב בהיר או כהה.
השתמשו ב-light-dark()
כדי לציין שני ערכי צבעים שונים בנכס CSS יחיד. הדפדפן (או המכשיר) יבחר באופן אוטומטי את הצבע המתאים על סמך הערך של color-scheme
שמחושב מהאלמנט. לדוגמה, באמצעות ה-CSS הבא:
- אם המשתמש בחר עיצוב בהיר, לרכיב
.target
יהיה רקע ליים. - אם המשתמש בחר עיצוב כהה, לרכיב
.target
יהיה רקע ירוק.
html {
color-scheme: light dark;
}
.target {
background-color: light-dark(lime, green);
}
מצב תצוגה 'תמונה בתוך תמונה' בשירות CSS
הוספת תמיכה לתכונת המדיה display-mode
ב-CSS עבור הערך picture-in-picture
. כך מפתחי אתרים יכולים לכתוב כללי CSS ספציפיים שחלים רק כשאפליקציית האינטרנט מוצגת במצב 'תמונה בתוך תמונה' (חלק ממנה).
מידע נוסף על תכונת המדיה הזו זמין בתיעוד של תמונה בתוך תמונה.
יישור מאפיין CSS עבור בלוקים
מאפיין ה-CSS align-content
נתמך עכשיו בקונטיינרים בלוקים ובתאים בטבלה. בעבר, המאפיין הזה תמך רק בפריטי רשת ופריטי גמיש. לדוגמה, עכשיו אפשר להתאים את display: block
, display: list-item
ו-display: table-cell
באמצעות align-content
.
מידע נוסף זמין במאמר תמיכה ב-align-content
בפריסות של בלוקים וטבלאות.
נכס ה-CSS field-sizing
באמצעות הנכס field-sizing
, מפתחים יכולים להשבית את גודלי ברירת המחדל הקבועים של בקרות הטופס ולהגדיר את הגודל שלהם בהתאם לתוכן. כך אפשר ליצור שדות טקסט שגדלים באופן אוטומטי.
נכס ה-CSS text-spacing-trim
התכונה הזו מחילה את הקידוד על תווי פיסוק בסינית, יפנית וקוריאנית (CJK) כדי ליצור את הטיפוגרפיה מושכת לעין כפי שהוגדרה על ידי JLREQ (דרישות לפריסת טקסט ביפנית) ו-CLREQ (דרישות לפריסת טקסט בסינית).
תווי פיסוק רבים של CJK כוללים ריווח גליף-פנימי. לדוגמה, לנקודה המלאה ב-CJK ולסוגריים הסוגרים של CJK יש בדרך כלל רווחים גליפים-פנימיים בחצי הימני של מרחבי הגליף, כדי שתהיה להם התקדמות קבועה בתור תווים אידאוגרפיים אחרים. אבל כשהם מופיעים בשורה, המרווחים בין הגליפים הפנימיים הופכים למיותרים. התכונה הזו מתאימה ריווח גדול מדי.
המאפיין text-spacing-trim
מקבל אחד מארבעת הערכים הבאים:
normal
, trim-start
, space-all
ו-space-first
.
מידע נוסף זמין במאמר 4 תכונות חדשות שמוגשות בהן מנות מרחבי העולם ב-CSS.
ממשקי API לאינטרנט
אישור ליצירת פרטי כניסה ל-WebAuthn ב-iframe ממקורות שונים
התכונה הזו מאפשרת למפתחי אתרים ליצור פרטי כניסה ל-WebAuthn (כלומר, פרטי כניסה עם מפתח ציבורי, שנקראים מפתחות גישה) במסגרות iframe ממקורות שונים. ליכולת החדשה הזו נדרשים שני תנאים:
- ל-iframe יש מדיניות הרשאות
publickey-credentials-create-feature
. - ל-iframe יש הפעלה זמנית של משתמש.
כך המפתחים יוכלו ליצור מפתחות גישה בתרחישים מוטמעים, למשל, אחרי תהליך שלב אימות זהות שבו ה-Relying Party מספק חוויה של זהות מאוחדת.
חבילת תכונות של דיווח על שיוך (Attribution)
ב-Chrome 123 נוספה התאמה אישית של נתוני טריגר ומסנני ערכים מצטברים ל-Attribution Reporting API שמתמקד ב:
- יכולת הגדרה נוספת של ה-API לדיווח ברמת האירוע באמצעות תמיכה בהתאמה אישית של הערכים והעוצמה של נתוני הטריגר.
- אפשרות נוספת להגדרת API לדוחות סיכום על ידי תמיכה במסננים בערכים נצברים.
מדידת שיוך (Attribution) באפליקציות ובאינטרנט
הרחבת ה-Attribution Reporting API כך שיאפשר לשייך המרות שמתרחשות באינטרנט לאירועים שמתרחשים מחוץ לדפדפן, באפליקציות אחרות.
ההצעה כאן מנצלת את התמיכה בשיוך ברמת מערכת ההפעלה בייחוס. באופן ספציפי, המפתח יכול לאפשר צירוף של אירועים באינטרנט לנייד לאירועים בארגז החול לפרטיות ב-Android, למרות שאפשר להטמיע גם תמיכה בפלטפורמות אחרות.
blocking=render
בסקריפטים של מודולים מוטבעים
זהו שינוי קטן שמסיר הגבלה מלאכותית מ-<script blocking="render">
.
לפני השינוי הזה, ל-<script blocking="render"type="module">
נדרש מאפיין src
, גם אם src
הוא URI של נתונים.
זהו אילוץ מיותר, כי סקריפטים של מודול מוטבע שמייבאים סקריפטים אחרים עדיין יוכלו לבצע חסימה של העיבוד.
המוטיבציה לכך היא שמעברים בין תצוגות של מסמכים חוצי-מסמכים מסתמכים לעיתים קרובות על סקריפטים שחוסמים עיבוד לצורך התאמה אישית, ולכן קל יותר ליצור סקריפטים שחוסמים את העיבוד, כדי לתמוך בתכונה הזו.
מסמך במצב 'תמונה בתוך תמונה': מאפשר ל-API של focus()
להתמקד במפתח הפתיחה
עכשיו אפשר להשתמש ב-opener.focus()
מחלון עם תמונה בתוך תמונה במסמך, כדי להתמקד ברמת המערכת בכרטיסייה שבבעלותה חלון התמונה בתוך תמונה של המסמך.
כך המפתחים יכולים להחזיר את הכרטיסייה המקורית לחזית במקרה הצורך. לדוגמה, כשהמשתמש צריך גישה לממשק משתמש שלא מתאים לחלון הקטן יותר של תמונה בתוך תמונה.
ייבוא מאפיינים with
תחביר
מאפייני ייבוא הם תכונת JavaScript שמאפשרת להוסיף הערות להצהרות ייבוא, לדוגמה import xxx from "mod" with { type: "json" }
. Chrome
שלח במקור גרסה קודמת של ההצעה (ב-Chrome 91) באמצעות
assert
כמילת המפתח. לאחר מכן הגרסה הזו עודכנה לשימוש ב-with
על סמך שינויים מסוימים שנדרשו במהלך השילוב עם HTML למודולים של JSON ו-CSS.
jitterBufferTarget
המאפיין jitterBufferTarget
מאפשר לאפליקציות לציין משך זמן יעד, באלפיות שנייה של מדיה, כדי לשמור את מאגר הרעידות של RTCRtpReceiver
. הפעולה הזו משפיעה על כמות אגירת הנתונים שסוכן המשתמש מבצע, ומשפיעה על השידורים מחדש ועל התאוששות מאובדן מנות. שינוי של ערך היעד מאפשר לאפליקציות לשלוט באיזון בין עיכוב בהפעלה לבין הסיכון של פריימים של אודיו או וידאו בגלל רעידות ברשת.
תזמון מסגרת אנימציה ארוכה
Long Animation Frames API הוא תוסף של Long Tasks API. הוא מודד את המשימה ביחד עם עדכון הרינדור הבא שלה, ומוסיף מידע כמו סקריפטים הרצה ארוכים, זמן רינדור והזמן שהוקדש בפריסה ובסגנון מאולצים, שנקרא פריסה של thrashing.
המפתחים יכולים להשתמש בנתונים האלה כאבחון של 'איטיות', שנמדדת על ידי INP, על ידי מציאת הגורמים לעומס ב-thread הראשי, שהרבה פעמים הוא הגורם לבעיות ב-INP.
NavigationActivation
ממשק הפעלת הניווט מוסיף navigation.activation
. כשמפעילים את האפשרות הזו, נשמרים המצבים שבהם המסמך הנוכחי הופעל (לדוגמה, מתי הוא אותחל או שוחזר מהמטמון לדף הקודם/הבא).
המשמעות היא שמפתחים יכולים להציע דפים מותאמים אישית בהתאם למיקום שממנו המשתמש ניווט. לדוגמה, אם הן הגיעו מדף הבית, הפעילו אנימציה אחרת.
אירוע מסוג 'הצגת דפים'
האירוע pagereveal
מופעל באובייקט חלון של מסמך בהזדמנות העיבוד הראשונה אחרי המסמך: נטען בהתחלה, שוחזר מהמטמון לדף הקודם/הבא או מופעל מעיבוד מראש.
מחבר דף יכול להשתמש בו כדי להגדיר חוויה של כניסה לדף, כמו מעבר של תצוגה ממצב קודם.
PointerEvent.deviceId לכתיבה בריבוי עטים
השימוש במכשירים עם יכולות מתקדמות להוספת עטים הולך וגדל, לכן חשוב שפלטפורמת האינטרנט תמשיך לתמוך באופן מלא בתכונות המתקדמות כדי ליהנות מחוויות עשירות גם למשתמשי קצה וגם למפתחים. אחד מהשיפורים האלה הוא היכולת של הדיגיטציה של המכשיר לזהות בו-זמנית יותר ממכשיר עט אחד שמקיימים איתו אינטראקציה. התכונה הזו היא תוסף לממשק PointerEvent
שכולל מאפיין חדש, deviceId
, שמייצג מזהה ייחודי וקבוע סשן, מבודד ממסמך, והמפתח יכול להשתמש בו בצורה אמינה כדי לזהות עטים ספציפיים שמקיימים אינטראקציה עם הדף.
בדיקות גישה לרשת הפרטית לבקשות ניווט: מצב אזהרה בלבד
לפני שאתר א' מנווט לאתר ב' ברשת הפרטית של המשתמש, התכונה הזו מבצעת את הפעולות הבאות:
- הפונקציה בודקת אם הבקשה נשלחה מהקשר מאובטח.
- שולחת בקשת קדם-הפעלה ובודקת אם B מגיב עם כותרת שמאפשרת גישה פרטית לרשת.
כבר יש תכונות למשאבי משנה ולעובדים, אבל התוספת הזו מיועדת במיוחד לבקשות ניווט.
הבדיקות האלה מתבצעות כדי להגן על הרשת הפרטית של המשתמש. מכיוון שהתכונה הזו היא מצב 'אזהרה בלבד', היא לא תיכשל בבקשות אם אחת מהבדיקות נכשלת. במקום זאת, תוצג אזהרה בכלי הפיתוח כדי לעזור למפתחים להתכונן לאכיפה הבאה.
רמז לקוח ל-Sec-CH-UA-Form-Factor
הרמז הזה מציין את ה-form-factor של הסוכן המשתמש או המכשיר, כדי שהאתר יוכל להתאים אישית את התגובה שלו.
API של Service Worker Static Routing
ה-API הזה מאפשר למפתחים להגדיר את הניתוב, ומאפשר למפתחים להוריד מהעומס של פעולות פשוטות ש-Service Worker עושה. אם התנאי תואם, הניווט מתבצע בלי להפעיל את Service Workers או להפעיל JavaScript, וכך דפי אינטרנט יכולים להימנע מקנסות על ביצועים שנובעים מיירוט של קובצי שירות (service worker). למידע נוסף, קראו את הפוסט הקודם בבלוג בנושא ה-API הזה.
עדכון לגבי נפח האחסון המשותף
העדכון הזה תומך בהפעלת worklet של מקורות שונים בלי ליצור iframe.
zstd קידוד תוכן
Zstandard, או zstd, הוא מנגנון לדחיסת נתונים שמתואר ב-RFC8878. זהו אלגוריתם דחיסה מהיר ללא אובדן נתונים, שמטרגט תרחישי דחיסה בזמן אמת ברמת zlib ויחסי דחיסה טובים יותר. האסימון zstd
נוסף כאסימון קידוד תוכן שרשום ב-IANA.
הוספת התמיכה ב-zstd
לקידוד תוכן תעזור לטעון דפים מהר יותר, להשתמש בפחות רוחב פס, לבזבז פחות זמן, להשתמש במעבד (CPU) ולהפעיל דחיסה בשרתים שלנו. כתוצאה מכך, העלויות של השרת יהיו נמוכות יותר.
גרסאות מקור חדשות לניסיון
ב-Chrome 123 תוכלו לאשר את גרסאות המקור לניסיון החדשות הבאות.
שילוב של הבטחה ל-JavaScript WebAssembly
כדי לתמוך באפליקציות רספונסיביות שנכתבו באמצעות WebAssembly, צריך לספק תכונות שמאפשרות להשעות ולהפעיל מחדש תוכניות WebAssembly.
התרחיש הראשוני לדוגמה לשילוב הבטחה הוא לאפשר לתוכניות WebAssembly שהמקור שלהן מסתמכ על ממשקי API סינכרוניים להשתמש בממשקי API אסינכרוניים שנפוצים יותר ויותר בפלטפורמת האינטרנט.
הרשמה לגרסת המקור לניסיון של השילוב שהובטח.
שירותי הובלה
גרסה 123 של Chrome מסירה את התכונה הבאה.
הכינוי של window-placement
למדיניות ההרשאות וההרשאות window-management
בגרסה 111 של Chrome, window-management
נוסף ככינוי למחרוזות של הרשאה ו-מדיניות הרשאות window-placement
.
הפעולה הזו הייתה חלק ממאמץ נרחב יותר לשנות את השמות של המחרוזות באמצעות הוצאה משימוש והסרה של window-placement
. שינוי המינוח משפר את משך החיים של התיאור ככל ש-Window Management API מתפתח עם הזמן.
אזהרות על הוצאה משימוש של כתובת האימייל החלופית 'window-placement
' התחילו ב-Chrome 113, והיא תוסר.