Chrome 125

תאריך פרסום הגרסה היציבה: 14 במאי 2024

אם לא צוין אחרת, השינויים הבאים חלים על הגרסה היציבה של Chrome 125 גרסת ערוץ ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows.

HTML ו-DOM

סריאליזציה של DOM הצללית הצהרתית

תכונה שמאפשרת למפתחים לבצע סריאליזציה של עצי DOM שמכילים שורשי shadow, שנוספו לאחרונה לתקן HTML.

באג מס' 41490936 במעקב | ערך ChromeStatus.com | מפרט

CSS

מיקום עוגן ב-CSS

מיקום עוגן ב-CSS מאפשר למפתחים לשתף אינטרנט עם רכיב שנמצא במיקום מוחלט לרכיב אחד או יותר אחר בדף (העוגנים), באופן הצהרתי, ללא שימוש ב-JavaScript. מיקום העוגן פועל באופן יעיל כאשר הם ניתנים לגלילה. תרחיש לדוגמה נפוץ הוא מיקום של חלון קופץ, כמו תיאור כללי, לצד הרכיב שהפעיל אותו, או תפריט בחירה עם רשימת האפשרויות של החלון הקופץ. לפני השימוש בתכונת מיקום העוגן, תרחישים לדוגמה אלה נדרשים JavaScript כדי למקם את החלון הקופץ באופן דינמי ולשמור אותו מעוגנות שהפעיל את גל הגלילה, שהוא אקדח ביצועים ולכן קשה נכון. בעזרת מיקום עוגן, אפשר להטמיע את התרחישים לדוגמה האלה בצורה יעילה ודקלרטיבית.

תכונת מיקום העוגן מורכבת ממספר גדול של מאפייני CSS. כמה מהמאפיינים העיקריים הם:

  • anchor-name: מגדיר רכיב כעוגן לרכיבים אחרים.
  • position-anchor: מתאר את "ברירת המחדל" עוגן שרכיב מעוגן צריך להשתמש בו עבור מיקום העוגן.
  • הפונקציה anchor(): משמשת להפניה למיקום של רכיב העוגן, במיקום של רכיב העוגן.
  • inset-area: קיצור דרך למיקום, למיקומים יחסיים נפוצים.

חדש: ממשק ה-API של מיקום העוגן ב-CSS | באג מס' 40059176 במעקב | ערך ChromeStatus.com | המפרט

פונקציות של ערכים מדורגים ב-CSS – round(),‏ mod() ו-rem()

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

פונקציית ה-CSS round() מחזירה מספר מעוגל על סמך העיגול שנבחר. את האסטרטגיה שלנו.

פונקציית ה-CSS mod() מחזירה מודולוס שנשאר כשהפרמטר הראשון הוא חלקי אופרטור הפרמטר השני, בדומה לאופרטור שארית JavaScript (%). המודולוס הוא הערך שנותר כאשר אופרנד אחד, הדיבידנד, חלקי אופרנד שני, המחלק. תמיד צריך את הסימן עם הכיתוב הזה.

פונקציית ה-CSS ‏rem() מחזירה את השארית שנשארת אחרי חלוקת הפרמטר הראשון בפרמטר השני, בדומה לאופרטור השארית ב-JavaScript‏ (%). השארית היא הערך שנשאר אחרי חלוקת אופרנד אחד, המכנה, באופרנד שני, המחלק. תמיד צריך את הסימן מחולק.

באג מס' 40253179 במעקב | ערך ChromeStatus.com | מפרט

תחביר חדש ל-CSS בהתאמה אישית :state()

מצב מותאם אישית ב-CSS מאפשר לרכיבים מותאמים אישית לחשוף סוגי פסאודו משלהם. התחביר הוגדר עכשיו ב-CSSWG, וגרסת Chrome 125 תומכת עכשיו בתחביר החדש :state(foo). במהלך השינוי הזה, Chrome יתמוך גם בסינטקס הישן (:--foo) וגם בסינטקס החדש, כדי שאתרים יוכלו לעבור לסינטקס החדש.

הערך ב-ChromeStatus.com | מפרט

הסרת הפסקות בצבעים Oklab ו-Oklch עם בהירות של כמעט 100% או 0

לפני השינוי הזה, כל הצבעים של Lab, LCH, Oklab ו-Oklch היו עם ערך בהירות של 100% מהם הוצגו לבן, בלי קשר לשני הפרמטרים האחרים. כל הצבעים במרחבים האלה עם ערך בהירות של 0 פורסמו בשחור. שני המיפויים האלה גרמו לקטעים לא רציפים בצבעים ועיצבו הפתעה למפתחי אתרים.

בעקבות החזרה הזו, הצבעים האלה לא ממופים יותר באופן מלאכותי הצבע המוצג יהיה רציף עם צבעים קרובים ויהיה תלוי את מיפוי הסולם של המסך.

הרשומה ב-ChromeStatus.com | מפרט

סרגל גלילה ברמה הבסיסית (root) בערכת צבעים

הדפדפן משתמש בסכימת הצבעים המועדפת על המשתמש כדי ליצור את סרגל הגלילה של אזור התצוגה, אם הערך של 'page's supported color schemes' הוא 'normal' או לא צוין, והערך המחושב של color-scheme לאלמנט הבסיס הוא normal. אפשר להתייחס לסרגלי גלילה של אזור התצוגה כאל רכיבים שמחוץ לתוכן האינטרנט. לכן, סוכני המשתמש צריכים לפעול בהתאם ערכת צבעים מועדפת בעת עיבוד סרגלי גלילה של אזור התצוגה אם המפתח שלא צוינה במפורש תמיכה בערכות צבעים.

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

title | באג למעקב מס' 40259909 | הרשומה ב-ChromeStatus.com | מפרט

הכיתה view-transitions

יש נכס CSS חדש view-transition-class שמאפשר לך לציין סוג אחד או יותר של מעבר בין תצוגה. לאחר מכן אפשר לבחור לדוגמה, אלמנטים פסאודויים של ViewTransition שמשתמשים במחלקות האלה ::view-transition-group(*.class).

זהו תוסף ל-ViewTransition API שמפשט את העיצוב של פסאודו-רכיבים של מעבר תצוגה, בדומה לאופן שבו כיתות CSS מפשטות את העיצוב של רכיבי DOM רגילים.

מעקב אחרי באג מס' 41492972 | רשומה ב-ChromeStatus.com | מפרט

בטעינה

קבלת כתובות URL מסוג HTTP ו-HTTPS בעת בניית WebSocket

העדכון הזה מאפשר להשתמש בסכימות HTTP ו-HTTPS ב-constructor של WebSocket, וכך מאפשר למפתחים להשתמש גם בכתובות URL יחסיות. הכתובות האלה עוברות נורמליזציה לסכימות הפנימיות ws: ו-wss:.

באג מס' 325979102 במעקב | ערך ChromeStatus.com | מפרט

ממשקי API של אתרים

תוספות ל-Attribution Reporting API

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

הרשומה ב-ChromeStatus.com

Compute Pressure API

Compute Pressure API מציע מצבים ברמה גבוהה שמייצגים את עומס המעבד במערכת. היא מאפשרת להשתמש במדדי החומרה המתאימים כדי להבטיח שהמשתמשים יוכלו לנצל את כל כוח העיבוד שזמין להם, כל עוד המערכת לא נמצאת בלחץ בלתי נסבל.

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

Compute Exure API | באג מס' 40683064 במעקב | ערך ChromeStatus.com | המפרט

כך משיקים את ההצעה להרחבת Storage Access API (תואמת לאחור ועברה ניסיון במקור) כדי לאפשר גישה לאחסון של קובצי cookie ולאחסון ללא קובצי cookie ללא חלוקה למחיצות בהקשר של צד שלישי. ה-API הנוכחי מספק גישה רק לקובצי cookie, שיש להם תרחישים לדוגמה שונים מאלה של אחסון שאינו קובץ cookie.

באג מס' 40282415 במעקב | ערך ChromeStatus.com | מפרט

הדרישה של FedCM ל-CORS בנקודת הקצה של טענת נכוֹנוּת (assertion) של זהות

קשה להסביר את האחזורים ב-FedCM API בגלל המאפיינים שנדרש מהם. יש דיון מתמשך לגבי נקודת הקצה של החשבונות, אבל יש גם הסכמה רחבה על כך שנקודת הקצה של טענת הנכוֹנוּת של הזהות צריכה להשתמש ב-CORS. מאפייני האבטחה של האחזור הזה מתאימים יותר במדויק לאלו של העדכון הזה אחזורים אחרים בפלטפורמת האינטרנט.

עדכוני FedCM: גרסת מקור לניסיון של Enable Mode API, CORS ו-SameSite | באג מס' 40284123 במעקב | ערך ChromeStatus.com

FedCM שולח עכשיו בקשות לאימות זהות באמצעות CORS. המשמעות של שינוי זה היא ש-Chrome אבל לא ישלח יותר קובצי cookie מסוג SameSite=Strict אל נקודת הקצה של טענת הנכונות (assertion) של המזהה Chrome עדיין שולח SameSite=None. מכיוון שאין טעם לשלוח קבוצה שונה של קובצי cookie לנקודת הקצה של החשבונות ולנקודת הקצה של טענת הנכוֹנוּת של הזהות, השינוי הזה מביא לכך שהן יהיו עקביות.

אי-שליחת קובצי cookie מסוג SameSite=Strict תואמת גם להתנהגות של requestStorageAccess ולבקשות בין אתרים באופן כללי.

באג מס' 329145816 במעקב | ערך ChromeStatus.com | מפרט

פעולת ברירת מחדל של mousemove הדדי

Chrome אישר לבטל אירועים של mousemove כדי למנוע ממשקי API אחרים, כמו טקסט. (ואפילו גרירה ושחרור בעבר). ההגדרה הזו לא תואמת לסוגים אחרים דפדפנים; והוא גם לא תואם למפרט האירועים של ממשק המשתמש. עכשיו אין אפשרות לבחור טקסט תהיה פעולת ברירת המחדל של mousemove. ניתן לבחור טקסט באמצעות גרירה ושחרור עדיין תהיה אפשרות למנוע אותה על ידי ביטול אירועים של selectstart ו-dragstart בהתאמה.

התכונה הזו תושק בהדרגה החל מ-Chrome 125, והיא צפויה יהיה זמין לכל המשתמשים עד Chrome 126.

דמו | באג מעקב מס' 40078978 | רשומה ב-ChromeStatus.com | מפרט

מודификаторים של ביטויים רגולריים

מגבילי ביטויים רגולריים מוסיפים את היכולת לשנות באופן מקומי את i, m, ו-s דגלים בתוך תבנית.

כדי להפעיל דגל לתת-ביטוי, משתמשים בפונקציה (?X:subexpr) כאשר X הוא אחד מ- i, m או s. כדי להשבית דגל לביטוי משנה, משתמשים ב-(-X:subexpr).

לדוגמה, עבור הדגל i של חוסר תלות באותיות רישיות:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

הרשומה ב-ChromeStatus.com | מפרט

ביטוי רגולרי עם קבוצות ייעודיות לזיהוי (capture) כפולות בעלות שמות

כפולות של קבוצות תיעוד עם שם מאפשרות להשתמש באותו שם של קבוצת תיעוד בכמה חלופות. לדוגמה

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

במקרה הזה, הערך year תקין עבור החלופה הראשונה ((?<year>[0-9]{4})-[0-9]{2}), או החלופה השנייה ([0-9]{2}-(?<year>[0-9]{4})).

הרשומה ב-ChromeStatus.com | מפרט

אפליקציות Chrome

Direct Sockets API באפליקציות ל-Chrome

העדכון הזה עוזר להקל על המעבר של אפליקציות מיוחדות מאפליקציות Chrome אל אפליקציות אינטרנט מבודדות (IWA) על ידי הפעלת Direct Sockets באפליקציות Chrome, כדי לאפשר לאפליקציות אינטרנט ליצור פרוטוקול לבקרת שידור ישיר (TCP) ופרוטוקול נתוני משתמשים (UDP) תקשורת עם מערכות ומכשירים של רשתות.

ערך ChromeStatus.com | מפרט

גרסאות מקור חדשות לניסיון

ממשק API של מצב לחצנים ב-FedCM ושימוש ב-Other Account API

גרסת המקור לניסיון כוללת את שני ממשקי ה-API הבאים של FedCM.

Button Mode API מאפשר לאתרים לבצע קריאה ל-FedCM בתוך לחיצה על לחצן, למשל לחיצה על הלחצן כניסה ל-IdP. לשם כך, FedCM צריך להבטיח שהוא תמיד מגיב עם ממשק משתמש גלוי, בניגוד למצב ווידג'ט שבו ממשק המשתמש לא מוצג כשהמשתמשים יוצאים מהחשבון. קריאה ל-FedCM API במצב לחצן מובילה את המשתמשים להתחברות ל-IdP (בחלון דו-שיח), כשהם לא מחוברים לחשבון.

בנוסף, מכיוון שמצב הלחצן מופעל באמצעות תנועת משתמש מפורשת, ממשק המשתמש עשוי להיות בולט יותר (למשל, ממורכז ומצבי) בהשוואה לממשק המשתמש במצב הווידג'ט (שלא יש לו כוונה מפורשת כזו). מידע נוסף על אופן הפעולה של Button Mode API זמין במאמר עדכונים ב-FedCM: תקופת ניסיון למקור של Button Mode API, ‏CORS ו-SameSite

ה-API של Use Other Account מאפשר לספק זהויות לאפשר למשתמשים להיכנס לחשבונות אחרים.

גרסת מקור לניסיון | הדגמה | באג מס' 40284792 במעקב | ערך ChromeStatus.com | מפרט

ממשקי API מתקפלים

גרסת המקור לניסיון הזו כוללת את Device Posture API ואת Viewport Segments Enumeration API. ממשקי ה-API האלה נועדו לעזור למפתחים לטרגט מכשירים מתקפלים.

גרסת Origin לניסיון | גרסת Origin לניסיון של ממשקי API מתקפלים | הרשומה ב-ChromeStatus.com | מפרט

ניסיון הוצאה משימוש של שיטות ומאפיינים עם קידומת של HTMLVideoElement במסך מלא

תקופת הניסיון להוצאה משימוש מאפשרת לכם להצטרף שוב לתמיכה במאפיינים ובשיטות של HTMLVideoElement עם הקידומת, אם אתם זקוקים לזמן נוסף כדי לשנות את הקוד.

גרסת מקור לניסיון | ערך ChromeStatus.com

דילוג על הסריקה של טעינה מראש

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

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

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

גרסת טרום-השקה | באג מעקב מס' 330802493 | הרשומה ב-ChromeStatus.com | מפרט

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

הסרת הכינוי 'window-placement' להרשאה ומדיניות ההרשאות 'window-management'

הסרת הכינוי 'window-placement' להרשאה ולמדיניות ההרשאות 'window-management'. זה חלק ממאמץ גדול יותר לשנות את השמות של המחרוזות באמצעות בסופו של דבר הוצאה משימוש והסרה של 'window-placement'. שינוי המונחים ישפר את משך החיים של התיאור ככל ש-Window Management API יתפתח עם הזמן.

title | באג מעקב מס' 40842072 | רשומה ב-ChromeStatus.com | מפרט

הסרה של מדיניות Enterprise: NewBaseUrlInheritanceBehaviorAllowed

השינוי הבסיסי בקוד (הפעלת התנהגות ירושה חדשה של כתובת URL בסיסית) שבעקבותיה שינויים במדיניות הארגון הופעלו בגרסאות יציבות מאז אוגוסט 2023 (Chrome 118). מאחר שהבעיות המוכרות טופלו, הארגון הזה הוסרה בגרסה 125 של Chrome.

הרשומה ב-ChromeStatus.com

הסרת המאפיינים והשיטות של תצוגה במסך מלא ב-HTMLVideoElement עם קידומת

ממשקי ה-API שמוגדרים כ-HTMLVideoElement במסך מלא הוצאו משימוש מאז Chrome 38. הם הוחלפו ב-Element.requestFullscreen(), שהופץ לראשונה ללא קידומת בשנת 2018 ב-Chrome 71.

המאפיינים והשיטות הבאים יוסרו מ-HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (שימו לב לאותיות הרישיות השונה של ה-"S" ב- FullScreen)
  • webkitExitFullScreen()

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

הרשומה ב-ChromeStatus.com

קריאה נוספת

רוצה עוד? תוכלו לעיין במקורות המידע הנוספים.

הורדת Google Chrome

אפשר להוריד את Chrome ל-Android, ל-מחשב או ל-iOS.