תמיכה ברשת משנה של CSS, אנימציית כניסה ויציאה עבור CSS, קיבוץ מערכים, עזרי איטרטור ועוד.
אם לא צוין אחרת, השינויים שמתוארים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות המפורטות כאן באמצעות הקישורים המצורפים או מהרשימה ב-ChromeStatus.com. Chrome 117 בגרסת בטא החל מ-16 באוגוסט 2023. אפשר להוריד את הגרסה העדכנית ביותר מ-Google.com למחשב, או מחנות Google Play ב-Android.
CSS
לגרסה הזו נוספו 6 תכונות חדשות של CSS. שלושת הנכסים הראשונים הם חלק מתהליך העבודה שלנו שנועד לאפשר מעברים בנכסים נפרדים, המאפשרים הפעלה של אנימציות של כניסה ויציאה.
הכלל מסוג @starting-style
כלל זה מאפשר למחברים להתחיל מעברי CSS בעדכון הסגנון הראשון.
מעברים ב-CSS לא מפעילים מעברים מסגנונות ראשוניים בעדכון הסגנון הראשון של רכיב, או כאשר סוג התצוגה משתנה מ-none
לסוג אחר אחר. כך תוכלו למנוע מעברים לא צפויים מהסגנונות הראשוניים. כדי להתחיל מעבר מעדכון הסגנון הראשון, עכשיו אפשר להחיל סגנונות מתוך כלל @starting-style
. לדוגמה, שירות ה-CSS הבא מתחיל מעבר של צבע רקע מירוק לליים בעדכון הסגנון הראשון של div:
div {
transition: background-color 0.5s;
background-color: lime;
}
@starting-style {
div {
background-color: green;
}
}
המאפיין של שכבת-על
הנכס overlay
מאפשר למפתחים לשמור את הרכיבים בשכבה העליונה כדי לאפשר מעבר ליציאה. המאפיין של שכבת-על מתווסף כדי לציין אם רכיב מסוים נמצא בשכבה העליונה או לא, ויכול לקבל שני ערכים: none
או auto
.
נכס התנהגות מעבר לשירות CSS
נכס ה-CSS transition-behavior
הוא פריט ותיק של הנכס transition
שמאפשר להשתמש בנכסים נפרדים במעברים. על ידי ציון הערך allow-discrete
של התנהגות מעבר, מאפיינים נפרדים יתחילו עכשיו אנימציות ויהפכו מהערך הראשוני שלהם לערך הסופי של 50%. במעברים שבהם display: none
ו-content-visibility: hidden
הם אחד מהערכים הראשוניים או הסופיים, הערך הגלוי ישמש לכל משך המעבר.
ערך רשת המשנה של רשת CSS
הערך subgrid
של grid-template-columns
ושל grid-template-rows
מוטמע עכשיו ב-Chrome. הערך הזה מאפשר לרשת בתוך רשת להשתמש במסלולים שהוגדרו בהורה שלה, במקום ליצור הגדרת מסלול חדשה לשורות, לעמודות או לשתיהן.
גלישת טקסט ב-CSS: יפה
הערך pretty
של נכס text-wrap
של שירות CSS מבצע אופטימיזציה לפריסה הטובה ביותר, במקום למהירות. הוא מיועד לגוף הטקסט, ולכן נדרשות מספר שורות. כשמשתמשים ב-pretty
, המפתח בוחר להשתמש באופן מפורש בשיטת פריסה שעשויה להיות איטית יותר מ-wrap
– שמבצעת אופטימיזציה לביצועים. ההטמעה הנוכחית ב-Chrome מבצעת אופטימיזציה ליתומים כדי למנוע הצגה של מילה יחידה בתחתית פסקת טקסט.
ב-Chrome 117 אפשר לנסות את ההדגמה הזו של גלישת טקסט: יפה ולראות איך הערך משנה את הצגת הטקסט.
contains-intrinsic-size: אוטומטי ללא תמיכה
התכונה הזו מרחיבה את התחביר הקיים של contain-intrinsic-size
כך שיכלול גם את auto && none
.
ממשקי API לאינטרנט
קיבוץ מערך
קיבוץ מערך הוא פעולה נפוצה במיוחד, שמיושמת בצורה הטובה ביותר בסעיף GROUP BY של SQL ובתכנות MapReduce (עדיף לחשוב על צמצום קבוצת מיפויים). היכולת לשלב נתונים לקבוצות מאפשרת למפתחים לחשב מערכי נתונים מסדר גבוה יותר, כמו הגיל הממוצע של קבוצה בעלת מאפיינים משותפים או ערכי LCP יומיים של דף אינטרנט. כדי להפעיל את התכונה הזו, מוסיפים את השיטות הסטטיות Object.groupBy
ו-Map.groupBy
. ה-method של האובייקט מחזירה אובייקט פשוט, שבו הקבוצות הן מפתחות מאפיין. ה-method 'מפה' מחזירה מפה שבה המפתחות יכולים להיות ערכים שרירותיים.
ניקוי רמזים ללקוחות באמצעות הכותרת Clear-Site-Data
אתרים יוכלו עכשיו לנקות את המטמון של הרמזים ללקוח באמצעות Clear-Site-Data: "clientHints"
. איסוף רמזים של לקוח יתבצע עכשיו גם כאשר 'קובצי cookie', 'מטמון' או '*' מטורגטים על ידי אותה כותרת. הסיבה לכך היא שאם המשתמש מנקה קובצי cookie ברמזים של הלקוח בממשק המשתמש כבר נמחקו, המטמון של הרמזים של הלקוח הוא מטמון וצריך לשמור על עקביות ליעדים עם תווים כלליים לחיפוש, בהתאמה.
תחביר של התווים הכלליים לחיפוש בכותרת Clear-Site-Data
עכשיו אתרים יוכלו לנקות את כל יעדי האחסון ('קובצי cookie', 'מטמון' ו'אחסון') על ידי שליחת הכתובת Clear-Site-Data: "*"
. לתשומת ליבכם: Chrome לא תומך בניקוי של הפקודה executionContexts כרגע, אבל אם נוסיף אותו בעתיד, כל כותרת שמטרגטת "*" גם אותם יימחקו.
customElements.getName
ה-method customElements.getName()
מחזירה את שם התג של ההגדרה הנתונה של הרכיב המותאם אישית.
כלים לעזרה באיטרטור
איטרטורים הם שיטות חדשות באב-טיפוס איטרטור שנועדו לאפשר שימוש כללי וצריכה של איטרטורים.
גרום ל-CaptureController נגזר מממשק EventTarget
הממשק CaptureController מאפשר מניפולציה נוספת של סשן של צילום מסך. בעתיד, צפוי שהאירועים הקשורים לסשן תיעוד יישלחו בבקר הזה. כדי שתהיה לך אפשרות לנהל מאזינים לאירועים כאלה, השיטות EventTarget
יהיו זמינות ב-CaptureController
.
PerformanceResourceResource deliveryType
המאפיין deliveryType
של PerformanceResourceTiming
מחזיר מידע על אופן העברת המשאב. לדוגמה, משאבים שהועברו מהמטמון (שנחשפים כרגע דרך transferSize
) וניווטים שנשלפו מראש על ידי הדף הקודם.
הגדרות נוספות של כתובות URL לבדיקת יציאות
ערך היציאה ייבדק בעת ההגדרה של url.port
. כל הערכים שחורגים מהמגבלה המספרית של 16 סיביות לא יהיו תקפים יותר. לדוגמה, הסקריפט הבא מתנהג באופן שונה אחרי השינוי:
u = new URL("http://test.com");
u.port = 65536;
console.log(u.port);
לפני השינוי, הפלט הוא 65536. אחרי השינוי, הפלט יהיה 80.
ממשק API לאסימוני מצב פרטי
זהו API חדש להפצת אותות פרטיים מוגבלים בין אתרים, בלי להשתמש במזהים קבועים באתרים שונים, כמו קובצי cookie של צד שלישי. שיטות למניעת הונאה שמסתמכות על קובצי Cookie של צד שלישי לא יפעלו אחרי שיפחיתו את הערך של קובצי Cookie של צד שלישי. ה-Private State Token API לא יוצר או מגדיר אותות למניעת הונאות: המידע הזה תלוי בצד הראשון ובמנפיקי האסימונים הרלוונטיים. במקום זאת, ה-API שומר על הפרטיות על ידי אכיפת המגבלות על המידע שמועבר באותות האלה. ה-API מבוסס על וריאנט של פרוטוקול Privacy Pass, שנמצא בתהליך סטנדרטיזציה על ידי IETF. אפשר להחשיב אותה כחשיפה באינטרנט של הפרוטוקולים של Privacy Pass. המפרט של ה-API יתעדכן בהתאם לגרסאות חדשות ולסוגים חדשים של אסימונים, והוא ימשיך להתעדכן בהתאם למפרטים של קבוצות העבודה במסגרת Privacy Pass. השינויים הצפויים יהיו בפרוטוקולים הקריפטוגרפיים הבסיסיים ובקוד הנפקת האסימונים: לא צפויים שינויים בממשקי ה-API לאחזור בהנפקה ובמימוש שמיועדים למפתחים. ה-Private State Token API נקרא בעבר Trust Token API. השם השתנה כדי לשקף בצורה מדויקת יותר את הסמנטיקה הבסיסית ולהדגיש את היתרונות בנושא פרטיות למשתמשים.
מנתח מארח IPv6 מוטמע של IPv4, תואם לכתובת URL
התנהגות הניתוח של מנתח המארח המוטמע של IPv4 ב-IPv6 תעודכן בהתאם לתקן כתובות ה-URL באינטרנט. ההגבלות שחלות על כתובת ה-IPv6 הן:
- כתובת ה-IPv4 המוטמעת תכלול תמיד 4 חלקים.
- כתובות שמכילות פחות מ-4 חלקים, כמו
http://[::1.2]
, לא יהיו תקפות יותר. התכונה היא חלק מיכולת הפעולה ההדדית של כתובות URL בשנת 2023.
כתובת URL: אפשר להזין את הערך "%00" כנתיב כתובת URL חוקי
בשלב זה, Chrome מחשיב כתובת URL כלא חוקית אם החלק בנתיב של כתובת ה-URL מכיל את הערך "%00" (או null), שאינו תואם לתקן של כתובות URL. לדוגמה, הבדיקה הבאה נכשלה ב-Chrome כי ב-new URL(...)
מופיעה החרגה של כתובת URL לא תקינה.
assertEquals(new URL("http://example.com/%00").pathname, "/%00");
בהתאם לתקן של כתובת ה-URL, כל רצף של תווים או בייטים בנתיב כתובת ה-URL לא אמור להפוך את כתובת ה-URL ללא חוקית, והשינוי הזה מעדכן את Chrome כך שיתאים לתקן הזה.
שליטה בתוסף הכותרת RTP של WebRTC
הרחבת ה-API של WebRTC RTCRtpTransceiver
כדי שתוכלו לקבוע אילו תוספי כותרות RTP ינוהלו במשא ומתן.
מכמת לפי מסגרת ב-VideoEncoder
הפונקציה מוסיפה 'quantizer' VideoEncoderBitrateMode
ל-VideoEncoder.
כך אפשר לציין פרמטר קוונטיזר לכל פריים עבור קודק הווידאו AV1, VP9 ו-AVC.
אפשרות WebUSB exclusionFilters
ב-requestDevice()
האפשרות exclusionFilters
ב-navigator.usb.requestDevice()
מאפשרת למפתחי אתרים להחריג מכשירים מסוימים מבורר הדפדפנים. אתם יכולים להשתמש בה כדי להחריג מכשירים שתואמים למסנן רחב יותר אבל לא נתמכים.
גרסאות מקור לניסיון מתבצעות עכשיו
ב-Chrome 117 אפשר להצטרף לגרסאות המקור לניסיון החדשות הבאות.
העברה של מילון דחיסה באמצעות Shared Brotli
התכונה הזו מוסיפה תמיכה בשימוש בתשובות קודמות ייעודיות, כמילון חיצוני לדחיסת תגובות HTTP באמצעות Brotli.
הרשמה לגרסת המקור לניסיון של CompressionמילוןTransport.
תקופת ניסיון להוצאה משימוש של WebSQL
מתבצעת הסרה של WebSQL מ-Chrome. מומלץ לאתרים שמסתמכים על כך לעבור ל-SQLite דרך Wasm.
תקופת הניסיון הזו להוצאה משימוש מאפשרת למפתחים שצריכים עוד זמן לביצוע ההעברה יכולים להמשיך להשתמש ב-WebSQL עד Chrome 123 (מרץ 2024). הרשמה לתקופת הניסיון להוצאה משימוש של WebSQL.
אפליקציות אינטרנט עם כרטיסיות
מתן הרשאה לחלונות של אפליקציית האינטרנט לכלול שורת כרטיסיות, למשל, כדי לערוך כמה מסמכים באותה אפליקציה. הפעולה הזו מוסיפה מצב תצוגה חדש ל"כרטיסייה" ושדה מניפסט חדש כדי לאפשר התאמות אישיות בשורת הכרטיסיות.
הרשמה לגרסת המקור לניסיון של Tabbed Web Apps.
הוצאה משימוש והסרות
הגרסה הזו של Chrome מציגה את ההוצאה משימוש וההסרות שמפורטות בהמשך. אפשר להיכנס לכתובת ChromeStatus.com כדי לקבל רשימה של מקרי הוצאה משימוש מתוכננות, הוצאת משימוש בפועל והסרות קודמות.
שתי תכונות יצאו משימוש בגרסה הזו של Chrome.
הוצאה משימוש של אירוע הסרת הנתונים שנטענו
מערכת Chrome 117 תתחיל בתהליך ההוצאה משימוש של הגורם המטפל באירועים של unload
. אם האתר שלך משתמש בהם, מומלץ מאוד לקרוא את הפוסט הייעודי להוצאה משימוש של unload
לקבלת פרטים נוספים.
הוצאה משימוש של חתימות שרת SHA-1 ל-TLS
Chrome מסיר את התמיכה באלגוריתמים של חתימות באמצעות SHA-1 לחתימות שרת במהלך לחיצת יד בפרוטוקול TLS. אין לכך השפעה על התמיכה ב-SHA-1 באישורי שרת שכבר הוסרו או באישורי לקוח, שעדיין נתמכים.
בגרסה הזו של Chrome הוסרו ארבע תכונות.
[WebRTC] ביטול שליחה של getStats() מדור קודם שמבוססת על קריאה חוזרת
ל-RTCPeerConnection יש שתי גרסאות של getStats()
: אחת שתואמת למפרט שמחזירה את הדוח באמצעות פתרון הבטחה, ואחת לא סטנדרטית שמחזירה דוח שונה מאוד באמצעות קריאה חוזרת (callback) כארגומנט הראשון. התוסף שמבוסס על קריאה חוזרת (callback) הוסר.
למידע נוסף על העברה ועל הפעולות שצריך לבצע אם דרוש לכם זמן נוסף, תוכלו לעיין במדריך להעברת נתונים (מיגרציה) של getStats().
הסרת הערך -1 עבור WebRTC getStats datachannelIdentifier
ממשק ה-API של WebRTC getStats API חושף נכס dataChannelIdentifier. הוא לא יספק עוד את הערך "1-" במקרים שבהם נשלחת שאילתה לסטטיסטיקה לפני יצירת הקישור של ערוץ הנתונים. במקום זאת, המערכת תשמיט את רכיב המילון.
הסרת מקודד getStats של WebRTC והטמעה "לא ידועה" של WebRTC
ממשק WebRTC getStats API חושף את שמות ההטמעה של המקודד והמפענח בוידאו נכנס ויוצא. הוא כבר לא יספק את הערך 'לא ידוע' במקרים שבהם נשלחה שאילתה לסטטיסטיקה לפני הקידוד או הפענוח של פריים. במקום זאת, המערכת תשמיט את רכיב המילון.
נכס CSS -webkit-highlight
מסירים את מאפיין ה-CSS -webkit-highlight
שמטרתו להדגיש טקסט, אבל אף פעם לא משתמש בפורמט סטנדרטי. אין לו השפעה גלויה בכרום (הוא מנותח אבל אף פעם לא נעשה בו שימוש בעיבוד תוכן). המאפיין הוסר מ-WebKit ב-2014, סומן כהוצאה משימוש ב-MDN והוחלף לאחרונה במפרט CSS של הדגשת ה-CSS.