גרסת בטא של Chrome 117

תמיכה בתת-רשת של CSS, אנימציית כניסה ויציאה עבור CSS, קיבוץ מערכים, עזרים לאיטרטור ועוד.

אם לא צוין אחרת, השינויים שמתוארים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות שמפורטות כאן בקישורים המצורפים או ברשימה ב-ChromeStatus.com. גרסה 117 של Chrome תהיה בגרסת בטא החל מ-16 באוגוסט 2023. ניתן להוריד את העדכונים האחרונים מ-Google.com למחשב או מחנות Google Play ל-Android.

CSS

לגרסה הזו נוספו שש תכונות 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 לנכס ה-CSS text-wrap עובר אופטימיזציה כדי להשיג את הפריסה הטובה ביותר, ולא את המהירות. היא מיועדת לגוף הטקסט, ולכן היא מצפה לשורות מרובות. כשמשתמשים ב-pretty, המפתח בוחר במפורש להשתמש בשיטת פריסה שעשויה להיות איטית יותר משיטת פריסה wrap, שמאפשרת לשפר את הביצועים. היישום הנוכחי ב-Chrome מבצע אופטימיזציה עבור יתומים כדי למנוע הצגה של מילה אחת בתחתית פסקה של טקסט.

ב-Chrome 117, אפשר לנסות את ההדגמה של גלישת טקסט: יפה ולראות איך הערך משנה את תצוגת הטקסט.

מכילים-גודל פנימי: תמיכה אוטומטית ללא תמיכה

התכונה הזו מרחיבה את התחביר הקיים של contain-intrinsic-size כך שיכלול גם את auto && none.

ממשקי API לאינטרנט

קיבוץ מערכים

קיבוץ מערכים הוא פעולה נפוצה ביותר, שמנוסחת בצורה הטובה ביותר באמצעות משפט GROUP BY של SQL ותכנות MapDecrease (שכדאי לחשוב עליהן יותר מבחינת צמצום קבוצת-מיפוי). היכולת לשלב נתונים בקבוצות מאפשרת למפתחים לחשב מערכי נתונים בסדר גבוה יותר, כמו הגיל הממוצע של קבוצה בעלת מאפיינים משותפים או ערכי LCP יומיים בדף אינטרנט. התכונה הזו מאפשרת זאת על ידי הוספת השיטות הסטטיות Object.groupBy ו-Map.groupBy. שיטת האובייקט מחזירה אובייקט פשוט, כאשר הקבוצות הן מפתחות המאפיינים. שיטת 'מפה' מחזירה מפה, שבה המפתחות יכולים להיות ערכים שרירותיים.

ניקוי רמזים על הלקוח דרך הכותרת Clear-Site-Data

אתרים יוכלו עכשיו לנקות את המטמון של הרמזים של הלקוח באמצעות Clear-Site-Data: "clientHints". רמזים של לקוח ינוקו עכשיו גם כשאותה כותרת ממקדת ל "קובצי cookie", ל"מטמון" או ל-"*". הסיבה לכך היא שאם המשתמש מנקה גם קובצי cookie ברמזים של הלקוח בממשק המשתמש, המטמון של הרמזים של הלקוח הוא מטמון, והם תואמים ליעדים עם תווים כלליים לחיפוש, בהתאמה.

תחביר התו הכללי לחיפוש כותרת האתר-Site-Data

אתרים יוכלו עכשיו לנקות את כל יעדי האחסון ('קובצי Cookie', 'מטמון' ו'אחסון') על ידי שליחת Clear-Site-Data: "*". שימו לב שבשלב זה Chrome לא תומך בניקוי של "executionContexts", אבל אם נוסיף אותו בעתיד כל טירגוט לפי כותרת "*" ימחק גם אותם.

customElements.getName

השיטה customElements.getName() מחזירה את שם התג של ההגדרה הנתונה של הרכיב המותאם אישית.

עזרים לאיטרטור

כלים עזר לטרטור הם שיטות חדשות ליצירת אב טיפוס של איטרטור, שמאפשרות שימוש כללי באיטרטורים וצריכה שלהם.

גזר את ה- הרפליקציה של נאמן המידע מממשק EventTarget

ממשק CaptureController מאפשר לבצע שינויים נוספים בסשן צילום מסך. בעתיד, סביר להניח שהאירועים שקשורים לסשן תיעוד יישלחו בבקר הזה. כדי לנהל מאזינים לאירועים כאלה, השיטות של EventTarget זמינות ב-CaptureController.

סוג שליחה של PerformanceResourceTiming

המאפיין 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 של Fetch להנפקה ולמימוש שאיתם המפתחים פונים למפתחים. ה-Private State Token API נקרא בעבר Trust Token API. השם השתנה כדי להמחיש בצורה מדויקת יותר את הסמנטיקה הבסיסית, וכדי להדגיש את היתרונות לשמירה על פרטיות המשתמשים.

מנתח מארח IPv6 מוטמע מסוג IPv4 תואם סטנדרטי של כתובת URL

התנהגות הניתוח של מנתח מארח IPv6 מוטמע IPv4 תעודכן כך שיציית אך ורק לתקן כתובת ה-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.

הרשמה לתקופת הניסיון בגרסת המקור של CompressionDictionaryTransport.

תקופת ניסיון להוצאה משימוש של WebSQL

מתבצעת הסרה של WebSQL מ-Chrome. אתרים שמסתמכים על התכונה הזו מומלץ לעבור ל-SQLite דרך Wasm.

גרסת הניסיון להוצאה משימוש תאפשר למפתחים שזקוקים לעוד זמן להעברת הנתונים, את היכולת להמשיך להשתמש ב-WebSQL עד Chrome 123 (מרץ 2024). נרשמים לתקופת הניסיון להוצאה משימוש של WebSQL.

אפליקציות אינטרנט עם כרטיסיות

לחלונות של אפליקציית אינטרנט תהיה שורת כרטיסיות, לדוגמה, כדי לערוך מספר מסמכים באותה אפליקציה. הפעולה הזו מוסיפה 'כרטיסייה' של מצב תצוגה חדש ושדה מניפסט חדש כדי לאפשר התאמות אישיות בשורת הכרטיסיות.

הרשמה לגרסת המקור לניסיון של אפליקציות אינטרנט עם כרטיסיות.

הוצאה משימוש והסרות

בגרסה הזו של Chrome מוצגות ההסרות והפעולות שהוצאה משימוש שמפורטות בהמשך. בכתובת ChromeStatus.com אפשר למצוא רשימות של מוציאים משימוש מתוכננות, הוצאות משימוש נוכחיות והסרות קודמות.

בגרסה הזו של Chrome יצאו משימוש שתי תכונות.

הוצאה משימוש של אירוע הסרת הנתונים שנטענו

גרסה 117 של Chrome תתחיל בתהליך של הוצאה משימוש של הגורם המטפל באירועים של unload. אם באתר שלך נעשה שימוש בנושאים האלה, מומלץ מאוד לקרוא את הפוסט הייעודי בנושא ההוצאה משימוש של unload כדי לקבל פרטים נוספים.

הוצאה משימוש של חתימות שרת TLS SHA-1

במהלך לחיצת היד בפרוטוקול TLS, מערכת Chrome מסירה את התמיכה באלגוריתמים של חתימה באמצעות SHA-1 לחתימות שרת. אין לכך השפעה על התמיכה ב-SHA-1 באישורי שרת שכבר הוסרו או באישורי לקוח, שהתמיכה בהם נמשכת.

בגרסה הזו של Chrome הוסרו ארבע תכונות.

[WebRTC] ביטול שליחה של getStats() על בסיס קריאה חוזרת (callback)

ל-RTCPeerConnection יש שתי גרסאות של getStats(): אחת שתואמת למפרט מחזירת את הדוח באמצעות פתרון הבטחה וגרסה לא סטנדרטית שמחזירה דוח שונה מאוד באמצעות קריאה חוזרת (callback) בתור הארגומנט הראשון. השיטה המבוססת על קריאה חוזרת (callback) הוסרה.

מידע נוסף על ההעברה ועל הפעולות שצריך לבצע אם נדרש לכם עוד זמן זמין במדריך להעברת נתונים (מיגרציה) מדור קודם של getStats().

הסרת הערך 1- של WebRTC getStats datachannelIdentifier

ה-API של WebRTC getStats חושף נכס dataChannelIdentifier. הוא כבר לא יספק את הערך "1-" במקרים שבהם נשלחות שאילתות לגבי נתונים סטטיסטיים לפני יצירת החיבור לערוץ הנתונים. במקום זאת, יוסר האיבר במילון.

הסרת ארכיטקטורת מקודד getStats של WebRTC והטמעה של מפענח WebRTC 'לא ידוע'

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

מאפיין CSS -webkit-highlight

מסירים את מאפיין ה-CSS -webkit-highlight המיועד להדגיש טקסט, אבל אף פעם לא סטנדרטי. אין לו השפעה גלויה ב-Chromium (הוא מנותח, אבל אף פעם לא משמש לעיבוד תוכן). הנכס הוסר מ-WebKit ב-2014, סומן כהוצאה משימוש ב-MDN והוחלף לאחרונה במפרט CSS highlight Pseudo.