תאריך פרסום: 5 במרץ 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה העדכנית ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמפורטות כאן זמין בקישורים שסופקו או ברשימה ב-ChromeStatus.com. גרסה 135 של Chrome היא גרסה בטא נכון ל-5 במרץ 2025. אפשר להוריד את הגרסה העדכנית ביותר בכתובת Google.com למחשב או מחנות Google Play ב-Android.
CSS וממשק משתמש
בגרסה הזו נוספו שלוש עשרה תכונות חדשות של CSS ושל ממשק משתמש.
שינוי מיקום של נקודת עיגון בהתאם לתנועת הגלילה שנשמרה
הוספת תמיכה במושג שימור המיקום בגלילה. כשרכיב ממוקם עם עוגן ברירת מחדל, ומחובר לעוגן הזה בקצה אחד, ומול הבלוק המקורי שמכיל אותו בקצה השני, ההיסט בגלילה יילקח בחשבון כשמגדירים את הגודל של הרכיב. כלומר, אפשר להשתמש בכל המרחב הגלוי (באמצעות position-area
) עבור הרכיב המאוחזר כשמסובבים את המסמך בזזוג מסוים. כדי למנוע שינוי של הפריסה (שינוי הגודל של הרכיב) בכל פעם שגוללים במסמך, הדפדפן משתמש בהזזה שנשמרה במקום להשתמש תמיד בהזזה הנוכחית. ההיסט של הגלילה שנשמר מתעדכן בנקודת חישוב מחדש של עוגן. הנקודה הזו היא המיקום שבו הרכיב הממוקם מוצג בהתחלה, או המיקום שבו נבחרה אפשרות מיקום אחרת (position-try-fallbacks
).
חוסר פעילות של CSS
כשמשביתים רכיב, הדבר משפיע על היכולת להתמקד בו, לערוך אותו, לבחור אותו ולחפש אותו באמצעות התכונה 'חיפוש בדף'. הוא גם משפיע על האפשרות להציג אותו בעץ הנגישות. הנכס interactivity
מציין אם אלמנט וצאצאיו בתרשים העץ השטוח (כולל רצפי טקסט) הם רדומים או לא. אפשר להזין במאפיין interactivity
אחד משני ערכים: auto
או inert
.
מאפייני Overflow לוגיים
מאפייני ה-CSS overflow-inline
ו-overflow-block
מאפשרים להגדיר את ה-overflow בכיוון שורת טקסט ובכיוון בלוק ביחס ל-writing-mode. במצב כתיבה אופקי, הערך overflow-inline
ממופה לערך overflow-x
, ובמצב כתיבה אנכי הוא ממופה לערך overflow-y
.
פונקציות שקשורות לחתימה: abs()
ו-sign()
הפונקציות שקשורות לסימנים abs()
ו-sign()
מחשבות פונקציות שונות שקשורות לסימן של הארגומנט שלהן.
המאפיין dynamic-range-limit
מאפשרת להגביל בדף את הבהירות המקסימלית של תוכן HDR.
הפונקציה shape()
הפונקציה shape()
מאפשרת ליצור צורות רספונסיביות בפורמט חופשי במאפיין clip-path
. הוא מאפשר להגדיר סדרה של פקודות, שדומות לפקודות ב-path()
. עם זאת, הפקודות מקבלות יחידות תגובה דינמית (לדוגמה, %
או vw
), וגם ערכים של CSS, כמו מאפיינים מותאמים אישית.
פסאודו-הרכיב ::column
רכיב פסאודו ::column
, שמאפשר להחיל קבוצה מוגבלת של סגנונות על הקטעים שנוצרו. באופן ספציפי, ההגבלה הזו חלה על סגנונות שלא משפיעים על הפריסה, ולכן אפשר להחיל אותם אחרי יצירת הפריסה.
::scroll-button()
פסאודו-רכיבים
מתן אפשרות ליצור לחצני גלילה אינטראקטיביים כפסאודו-רכיבים. לדוגמה:
.scroller {
overflow: auto;
}
.scroller::scroll-button(inline-start) {
content: "<";
}
.scroller::scroll-button(inline-end) {
content: ">";
}
צריך להיות אפשר להתמקד בהם, והם צריכים לפעול כמו לחצן (כולל סגנונות UA שלהם).
כשהפעולה מופעלת, צריך לגלול בכיוון מסוים במידה מסוימת.
אם אי אפשר לגלול בכיוון הזה, צריך להשבית את הלחצנים (ולתת להם את הסגנון :disabled
). אחרת, הם צריכים להיות מופעלים (ולקבל את הסגנון :enabled
). הבורר מאפשר להגדיר לחצנים בארבעה כיוונים לוגיים: block-start
, block-end
, inline-start
, inline-end
, וגם בארבעה כיוונים פיזיים: up
, down
, left
, right
.
::scroll-marker
וגם ::scroll-marker-group
הוספה של ::scroll-marker
ו-::scroll-marker-group
למאגרי תגים לגלילה.
פסאודו-הרכיבים האלה מאפשרים ליצור קבוצה של סמנים שניתנים למיקוד לכל הפריטים המשויכים בתוך הקונטיינר לגלילה.
עיצוב של פסאודו-אלמנטים בתצוגת עץ
מאפשרת לעצב פסאודו-אלמנטים שמוטמעים בפסאודו-אלמנטים אחרים.
עד כה, מוגדרת תמיכה ב-::before::marker
וב-::after::marker
, ותהיה תמיכה ב-::column::scroll-marker
בעתיד.
חלוקת היסטוריית הקישורים של :visited
למחיצות
כדי למנוע דליפות של היסטוריית הגלישה של המשתמשים, רכיבי העוגן מקבלים את הסגנון :visited
רק אם בוצע עליהם קליק מהאתר ברמה העליונה וממקור המסגרת הזה בעבר. העובדה שאנחנו מעצבים רק קישורים שכבר נלחצו באתר ובמסגרת הזו, מובילה לכך שהתקפות הערוץ הצדדי הרבות שפותחו כדי לקבל מידע על עיצוב הקישורים של :visited
לא רלוונטיות יותר, כי הן כבר לא מספקות לאתרים מידע חדש על המשתמשים.
יש יוצא מן הכלל לגבי קישורים עצמיים, שבהם אפשר לעצב קישורים לדפים של האתר עצמו כ-:visited
גם אם לא לחצו עליהם בעבר באותו מקור של האתר והמסגרת ברמה העליונה. הפטור הזה מופעל רק בפריימים ברמה העליונה או בפריימים משניים שיש להם מקור זהה לפריים ברמה העליונה. היתרונות של הפרטיות עדיין מתקבלים כי האתרים כבר יודעים באילו דפי משנה המשתמש ביקר, כך שאין חשיפה של מידע חדש. זוהי החרגה שהקהילה ביקשה כדי לשפר את חוויית המשתמש.
סימנים פונקציונליים של התקדמות אינטרפולציה: פונקציות *progress()
של CSS
הסימונים הפונקציונליים progress()
, media-progress()
ו-container-progress()
מייצגים את המרחק היחסי של ערך נתון (ערך ההתקדמות) מערך אחד (ערך ההתחלה של ההתקדמות) לערך אחר (ערך הסיום של ההתקדמות). הם מאפשרים לצייר יחס התקדמות מפונקציות מתמטיות, מתכונות מדיה ומתכונות של מאגרים, בהתאמה.
משתני safe-area-max-inset-
*
בנוסף למשתני הסביבה safe-area-inset
, Chrome תומך עכשיו גם בגרסאות max-area-safe-inset-
* של המשתנים האלה. בניגוד להוספות הדינמיות, ההוספות המקסימליות לא משתנות ומייצגות את ההוספה המקסימלית האפשרית של אזור בטוח.
הערכים האלה נחוצים כשאתם יוצרים חוויות שימוש באינטרנט מהקצה לקצה עם ביצועים טובים.
ממשקי API של אתרים
הוספת תמיכה ב-MediaStreamTrack
ל-Web Speech API
הוספת תמיכה ב-MediaStreamTrack
ל-Web Speech API. Web Speech API הוא ממשק API סטנדרטי לאינטרנט שמאפשר למפתחים לשלב זיהוי דיבור וסינתזה בדפי האינטרנט שלהם. בשלב זה, Web Speech API משתמש במיקרופון ברירת המחדל של המשתמש כקלט האודיו. התמיכה ב-MediaStreamTrack מאפשרת לאתרים להשתמש ב-Web Speech API כדי להוסיף כתוביות למקורות אודיו אחרים, כולל טראקים של אודיו מרחוק.
חלוקה למחיצות של כתובות URL מסוג Blob: אחזור וניווט
כחלק מחלוקת האחסון למחיצות, התכונה הזו מטמיעה חלוקה למחיצות של הגישה לכתובות URL של Blob לפי מפתח אחסון (אתר ברמה העליונה, מקור המסגרת והערך הבוליאני has-cross-site-ancestor), מלבד ניווטים ברמה העליונה שימשיכו להיות מחולקים למחיצות רק לפי מקור המסגרת.
CSP require-sri-for
לסקריפטים
ההנחיה require-sri-for
מאפשרת לכם לאשר שצריך לבדוק את תקינות כל המשאבים מסוג נתון. אם תנסו לטעון משאב מהסוג הזה בלי מטא-נתונים של תקינות, הניסיון ייכשל ויגרום ליצירת דוח הפרת CSP. הכוונה הזו מכסה את הערך "script"
של ההוראה הזו.
יצירת לקוח של service worker וירושה של בקר של service worker למסגרת ה-iframe של srcdoc
מסמכי הקשר של srcdoc הם לא לקוחות של שירותי עבודה כרגע, והם לא מכוסים על ידי שירות העבודה של ההורה שלהם. כתוצאה מכך יש אי-התאמות מסוימות (לדוגמה, נתוני Resource Timing מדווחים על כתובות ה-URL שהמסמכים האלה טוענים, אבל שירות ה-worker לא מיירט אותן). המטרה היא לתקן את אי ההתאמות על ידי יצירת לקוחות של קובצי שירות (service worker) למסגרות iframe של srcdoc
, וכך לגרום להם לרשת את הבקר של קובץ השירות (service worker) של ההורה.
שליחת אירועי קליקים למצביע שנלכד
אם מאתרים אירוע בזמן שליחת האירוע pointerup
, האירוע click
יישלח ליעד שזוהה במקום לקודם האב הקרוב ביותר של אירועי pointerdown
ו-pointerup
, בהתאם למפרט האירועים של ממשק המשתמש. לגבי אירועים שלא זוהו, היעד של click
לא ישתנה.
Float16Array
הוספת מערך Float16Array
עם טיפוס. ערכי המספרים מתוкруглים ל-IEEE fp16 כשכותבים למכונות Float16Array
.
שילוב של מפעיל הניווט במפתח המחיצה של מטמון ה-HTTP
סכמת המפתחות של זיכרון המטמון של HTTP ב-Chrome עודכנה כך שתכלול את הערך הבוליאני is-cross-site-main-frame-navigation
כדי לצמצם את היקף ההתקפות על דליפות בין אתרים שכוללות ניווט ברמה העליונה. באופן ספציפי, הפעולה הזו תמנע התקפות חוצות-אתרים שבהן תוקף יכול להתחיל ניווט ברמה העליונה לדף נתון, ואז לנווט למשאב שידוע שהוא נטען על ידי הדף כדי להסיק מידע רגיש לפי תזמון הטעינה. השינוי הזה גם משפר את הפרטיות, כי הוא מונע מאתר זדוני להשתמש בניווטים כדי להסיק אם משתמש ביקר באתר מסוים בעבר.
מניעת מעקב באמצעות HSTS
מפחית את מעקב המשתמשים על ידי צדדים שלישיים באמצעות המטמון של HSTS.
התכונה הזו מאפשרת שדרוגי HSTS רק לניווטים ברמה העליונה, וחוסמת שדרוגי HSTS לבקשות של משאבי משנה. כך לא ניתן לאתרים של צד שלישי להשתמש במטמון HSTS כדי לעקוב אחרי משתמשים באינטרנט.
פקודות של מבצע הקריאה: המאפיינים command
ו-commandfor
המאפיינים command
ו-commandfor
ברכיבי <button>
מאפשרים לכם להקצות התנהגות ללחצנים בצורה נגישה ודקלרטיבית יותר, תוך צמצום באגים ופישוט של כמות ה-JavaScript שנדרשת לאינטראקטיביות. לחצנים עם המאפיינים commandfor
ו-command
, כשלוחצים עליהם, נוגעים בהם או מפעילים אותם באמצעות הקשה על מקש, שולחים CommandEvent
לאלמנט שמפנה אליו commandfor
, עם התנהגויות ברירת מחדל מסוימות כמו פתיחת תיבות דו-שיח וחלונות קופצים.
קישור rel="facilitated-payment"
כדי לתמוך בתשלומי דחיפה
הוספת תמיכה ב-<link rel="facilitated-payment" href="...">
בתור רמז לדפדפן, כדי להודיע ללקוחות התשלום הרשומים על תשלום דחוף בהמתנה.
המאפיין NavigateEvent
sourceElement
כשהניווט מופעל על ידי אלמנט (כלומר, לחיצה על קישור או שליחת טופס), המאפיין sourceElement
ב-NavigateEvent
יחזיר את האלמנט שהפעיל את הניווט.
שינוי השם של הסיבה ב-API של NotRestoredReasons
ב-API של NotRestoredReasons
משנים חלק מהטקסטים של הסיבות כדי שיתואמו לשמות הסטנדרטיים. מפתחים שמנטרים את הסיבות האלה עשויים להבחין בשינוי בטקסטים של הסיבות.
Web Speech API במכשיר
התכונה הזו מוסיפה תמיכה בזיהוי דיבור במכשיר ל-Web Speech API, ומאפשרת לאתרים לוודא שאף אודיו או תמליל של דיבור לא נשלחים לשירות של צד שלישי לצורך עיבוד. אתרים יכולים לשלוח שאילתות לגבי הזמינות של זיהוי דיבור במכשיר בשפות ספציפיות, לבקש מהמשתמשים להתקין את המשאבים הנדרשים לזיהוי דיבור במכשיר ולבחור בין זיהוי דיבור במכשיר לבין זיהוי דיבור מבוסס-ענן לפי הצורך.
כתובת ה-URL של לקוח Service Worker מתעלמת משינויים ב-history.pushState
שינוי של מאפיין Client.url
של ה-service worker כדי להתעלם משינויים בכתובת ה-URL של המסמך באמצעות history.pushState()
וממשקי API דומים אחרים של היסטוריה. המאפיין Client.url
מיועד להיות כתובת ה-URL של יצירת מסמך ה-HTML, שמתעלם משינויים כאלה.
תמיכה במאפיינים rel
ו-relList
עבור SVGAElement
ממשק SVGAElement ב-SVG 2.0 מאפשר לבצע מניפולציות על אלמנטים מסוג <a>
, בדומה לאלמנטי עוגן ב-HTML. תמיכה במאפיינים rel
ו-relList
משפרת את האבטחה והפרטיות של המפתחים. ההתאמה הזו לרכיבי עוגן של HTML מבטיחה עקביות וקלות שימוש בטכנולוגיות אינטרנט שונות.
חותמות זמן לפריימים מקודדים ב-RTC
התכונה הזו כוללת חשיפת חותמות זמן מסוימות באינטרנט, שנמצאות בפריימים מקודדים של WebRTC שמועברים דרך RTCPeerConnection. חותמות הזמן הנדונות הן:
- חותמת הזמן של הצילום: חותמת הזמן שבה המסגרת צולמה במקור
- חותמת זמן של קבלה: חותמת הזמן שבה התקבל פריים
יש לעדכן את ProgressEvent
כך שישתמש בסוג double עבור 'loaded' ו-'total'
ל-ProgressEvent
יש את המאפיינים loaded
ו-total
שמציינים את ההתקדמות, והסוג שלהם הוא unsigned long long
עכשיו. בעזרת התכונה הזו, הסוג של שני המאפיינים האלה משתנה ל-double
, וכך למפתח יש יותר שליטה בערך. לדוגמה, המפתחים יכולים עכשיו ליצור ProgressEvent עם הערך total
של 1 והערך loaded
שגדל בהדרגה מ-0 ל-1. ההתנהגות הזו תואמת לברירת המחדל של רכיב ה-HTML <progress>
אם המאפיין max לא מופיע.
ה-API של fetchLater
ה-API fetchLater()
הוא ממשק API ל-JavaScript שמשמש לבקשת אחזור מושהה, והוא שימושי במיוחד לשליחת אותות איתות מהימנים יותר בסוף מחזור החיים של דף.
אחרי שמפעילים בקשה מושהית במסמך, הדפדפן מוסיף אותה לתור בסטטוס PENDING, והיא תופעל לפי התנאי המוקדם ביותר מבין התנאים הבאים:
המסמך נהרס. אחרי זמן שנקבע על ידי המשתמש. מטעמי פרטיות, כל הבקשות בהמתנה יוסרו כשהמסמך ייכנס ל-bfcache, לא משנה כמה זמן נותר. הדפדפן מחליט מתי הגיע הזמן לשלוח אותו.
ה-API מחזיר FetchLaterResult
שמכיל שדה בוליאני activated
שאפשר לעדכן כדי לבדוק אם הבקשה שהושהתה נשלחה או לא. אם ההעברה תתבצע בהצלחה, הדפדפן יתעלם מהתגובה כולה, כולל הגוף והכותרות.
חשוב לזכור שמשתמש ה-API לא יודע מהו זמן השליחה המדויק.
גרסאות מקור חדשות לניסיון
ב-Chrome 135 אפשר להצטרף לגרסאות הניסיון החדשות של המקור.
גורמים מעוררי עניין
התכונה הזו מוסיפה מאפיין interesttarget
לרכיבים <button>
ו-<a>
. המאפיין interesttarget
מוסיף לרכיב התנהגויות של 'עניין', כך שכאשר המשתמש 'מראה עניין' ברכיב, מתבצעות פעולות ברכיב היעד. הפעולות יכולות לכלול, למשל, הצגת חלון קופץ. סוכן המשתמש יזהה מתי המשתמש 'מראה עניין' באלמנט, באמצעות שיטות כמו העברת העכבר מעל האלמנט, הקשה על מקשי קיצור מיוחדים במקלדת או לחיצה ארוכה על האלמנט במסכים מגע.
כשהמשתמשים מביעים עניין או מפסיקים להתעניין, מתבצעת הפעלה של InterestEvent
ביעד, עם פעולות ברירת מחדל במקרה של חלונות קופצים – הצגה והסתרה של החלון הקופץ.
תקינות מבוססת-חתימה
התכונה הזו מספקת למפתחי אינטרנט מנגנון לאימות המקור של המשאבים שהם תלויים בהם, וכך יוצרת בסיס טכני לאמון ביחסי התלות של האתר. בקיצור: שרתים יכולים לחתום על תגובות באמצעות זוג מפתחות Ed25519, ומפתחי אינטרנט יכולים לדרוש מסוכני המשתמש לאמת את החתימה באמצעות מפתח ציבורי ספציפי. זו תוספת שימושית לבדיקות שמבוססות על כתובות URL שמציעה מדיניות האבטחה של תוכן, מצד אחד, ולבדיקות שמבוססות על תוכן של 'תקינות של נכסי משנה', מצד שני.
הוצאה משימוש והסרות
בגרסה הזו של Chrome הוספנו את ההוצאות משימוש וההסרות שמפורטות בהמשך. באתר ChromeStatus.com אפשר למצוא רשימות של הוצאות משימוש מתוכננות, הוצאות משימוש נוכחיות והוצאות קודמות משימוש.
בגרסה הזו של Chrome הופסקה התמיכה בתכונה אחת.
הוצאה משימוש של פונקציות getter של Intl Locale Info
Intl Locale Info API הוא הצעה של TC39 ל-ECMAScript בשלב 3, שמטרתה לשפר את האובייקט Intl.Locale
על ידי חשיפת מידע על Locale, כמו נתוני שבוע (היום הראשון בשבוע, היום שבו מתחיל סוף השבוע, היום שבו מסתיים סוף השבוע, היום המינימלי בשבוע הראשון) ומחזור השעות של כיוון הטקסט שמשמש את ה-locale. ההטמעה ב-Chrome הושלמה ב-Chrome 99, אבל ההצעה השתנתה והוחלט להעביר כמה פונקציות קבלה (getters) לפונקציות. אנחנו צריכים להסיר את פונקציות ה-getter שהוצאו משימוש ולהפעיל מחדש את הפונקציות ששינו את השם.
בגרסה הזו של Chrome הוסרנו שלוש תכונות.
הסרת השיטה navigator.xr.supportsSession
שהוצאה משימוש
השיטה navigator.xr.isSessionSupported
החליפה את navigator.xr.supportsSession
במפרט WebXR בספטמבר 2019, לאחר שקיבלנו מ-TAG משוב על צורת ה-API. מאז, הוא סומן כממשק שהוצא משימוש ב-Chrome, והוא גורם להצגת אזהרה במסוף שמפנה את המפתחים לממשק ה-API המעודכן. השימוש בקריאה נמוך מאוד, וכל המסגרות העיקריות שמשמשות ליצירת תוכן WebXR עודכנו לשימוש בקריאה החדשה.
הסרת נכס NavigateEvent
canTransition
ב-Chrome 108, השיטה transitionWhile()
והנכס canTransition
של NavigateEvent
הוחלפו בשיטה intercept()
ובנכס canIntercept
החדשים. בשלב הזה, השיטה transitionWhile()
הוסרה. עם זאת, שכחנו להסיר את המאפיין canTransition
: במקום זאת, השארנו אותו ככינוי ל-canIntercept
. בגרסה 135 של Chrome, נטפל בבעיה הזו ונסיר את canTransition
. אפשר להחליף כל שימוש ב-canTransition
ב-canIntercept
, ללא שינוי בהתנהגות.
הסרת המגבלה maxInterStageShaderComponents של WebGPU
המגבלה על maxInterStageShaderComponents
תוסר בגלל שילוב של גורמים:
- יתירות באמצעות
maxInterStageShaderVariables
: המגבלה הזו כבר משמשת למטרה דומה, ומאפשרת לשלוט בכמות הנתונים שמועברים בין שלבי ה-shader. - אי-התאמות קלות: יש הבדלים קלים באופן שבו שני המגבלות מחושבות, אבל ההבדלים האלה הם קלים וניתן לנהל אותם ביעילות ב-
maxInterStageShaderVariables limit
. - פשטות: הסרת
maxInterStageShaderComponents
משפרת את ממשק ה-shader ומפחיתה את המורכבות למפתחים. במקום לנהל שתי מגבלות נפרדות (ששתיהן חלות בו-זמנית, אבל יש ביניהן הבדלים קלים), הם יכולים להתמקד במגבלה המפורטת והמתאימה יותרmaxInterStageShaderVariables
.