Chrome 125

תאריך ההשקה היציב: 14 במאי 2024

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

HTML ו-DOM

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

תכונה שמאפשרת למפתחים ליצור סדרה של עצי DOM שמכילים שורשי צל, שאוחזרו לאחרונה בתקן 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(), ממירות ערך נתון בהתאם ל'ערך שלב' אחר.

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

פונקציית ה-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) של סכמת הצבעים

ההגדרה קובעת לדפדפן להשתמש בערכת הצבעים המועדפת על המשתמש כדי לעבד את פסי הגלילה של אזור התצוגה אם הערך של 'סכמות הצבעים הנתמכות של הדף' הוא 'רגיל' או לא צוין, והערך המחושב של 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 ב-builder של WebSocket, ולכן המפתחים יכולים להשתמש בכתובות URL יחסיות. הן מנורמלות לסכימות הפנימיות ws: ו-wss:.

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

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

תוספות ל-Attribution Reporting API

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

רשומה של ChromeStatus.com

ממשק API של Compute Pressure

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

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

Compute Pressure API | באג מעקב #40683064 | רשומת ChromeStatus.com | מפרט

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

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

הדרישה של FedCM ל-CORS בנקודת קצה (assertion) של מזהה

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

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

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

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

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

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

Chrome אפשר לבטל אירועי mousemove כדי למנוע ממשקי API אחרים כמו בחירת טקסט (ואפילו גרירה ושחרור בעבר). הפעולה הזו לא תואמת לדפדפנים עיקריים אחרים, וגם לא תואמת למפרט של האירוע UI. מעכשיו, בחירת הטקסט כבר לא תהיה פעולת ברירת המחדל של 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 | מפרט

ביטוי רגולרי הוא כפילות של קבוצות לחילוץ בעלות שם

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

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 לאפליקציות אינטרנט מבודדות באמצעות הפעלה של Direct Sockets באפליקציות Chrome, ובכך מאפשר לאפליקציות אינטרנט להקים פרוטוקולים של שידור ישיר (TCP) ופרוטוקול User-datagram (UDP) עם מכשירים ומערכות רשת.

רשומה של ChromeStatus.com | מפרט

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

FedCM Button Mode API ושימוש ב-API אחר בחשבון

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

title | מעקב מס' 40842072 | רשומת ChromeStatus.com | מפרט

הסרת המדיניות הארגונית: NewBaseUrlInheritanceBehaviorAllowed

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

רשומה של ChromeStatus.com

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

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

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

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

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

רשומה של ChromeStatus.com

קריאה נוספת

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

הורדת Google Chrome

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