תאריך פרסום: 1 במאי 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה העדכנית ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמפורטות כאן זמין בקישורים שסופקו או ברשימה באתר ChromeStatus.com. גרסה 130 של Chrome היא גרסת בטא נכון ל-30 באפריל 2025. אפשר להוריד את הגרסה העדכנית ביותר בכתובת Google.com למחשב או מחנות Google Play ב-Android.
CSS וממשק משתמש
בגרסה הזו נוספו שבע תכונות חדשות של CSS ושל ממשק משתמש.
הפונקציה if()
הפונקציה if()
ב-CSS מספקת דרך תמציתית להביע ערכים מותנים. הוא מקבל סדרה של צמדי תנאי-ערך, שמופרדים באמצעות נקודות-פסיק. הפונקציה בוחנת כל תנאי ברצף ומחזירה את הערך שמשויך לתנאי הראשון שמתקיים. אם אף אחד מהתנאים לא מקבל את הערך True, הפונקציה מחזירה מקור אסימונים ריק. כך אפשר לבטא לוגיקה מותנית מורכבת בדרך פשוטה ותמציתית. דוגמה:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
המאפיינים reading-flow
ו-reading-order
המאפיין reading-flow
ב-CSS קובע את הסדר שבו רכיבים בפריסה של גמישות, רשת או בלוק נחשפים לכלים לנגישות ומקבלים מיקוד באמצעות ניווט המיקוד במקלדת באמצעות Tab. הוא מקבל אחד מהערכים הבאים של מילות מפתח:
normal
flex-visual
flex-flow
grid-rows
grid-columns
grid-order
source-order
באמצעות מאפיין ה-CSS reading-order
אפשר לשנות באופן ידני את הסדר בתוך מאגר של תהליך קריאה. זהו מספר שלם עם ערך ברירת מחדל של 0.
מידע נוסף זמין במאמר שימוש ב-CSS לזרימת קריאה לניווט לוגי רציף, ואפשר לנסות כמה דוגמאות לזרימת קריאה.
offset-path: shape()
הפונקציה shape()
כבר נתמכת ב-clip-path
ומאפשרת חיתוך רספונסיבי. הפעלת האפשרות גם עבור offset-path
סוגרת פער קטן שבו אפשר להשתמש באותו סוג של צורה בנכס הזה.
תמיכה במאפיין טרנספורמציה ב-SVGSVGElement
התכונה הזו מאפשרת להחיל מאפייני טרנספורמציה – כמו שינוי קנה מידה, סיבוב, תרגום ועיוות – ישירות על רכיב הבסיס <svg>
באמצעות מאפיין הטרנספורמציה שלו. השיפור הזה מאפשר לשנות את כל מערכת הקואורדינטות של ה-SVG או את התוכן שלה באופן כללי, ומספק גמישות רבה יותר ביצירת גרפיקה וקטורית דינמית, רספונסיבית ואינטראקטיבית. התמיכה במאפיין הזה מאפשרת לשנות את אלמנט ה-SVG בלי צורך ברכיבי עטיפה נוספים או בפתרונות חלופיים מורכבים ב-CSS, וכך לייעל את תהליך היצירה של גרפיקה רספונסיבית ואנימציות לאינטרנט.
כדי לאפשר ל-<use>
להפנות לרכיב השורש של מסמך חיצוני, משמיטים את הקטע.
התכונה הזו מאפשרת לנו לייעל את רכיב ה-SVG <use>
על ידי הרחבת הדרישות לגבי הפניות. בשלב זה, צריך להפנות באופן מפורש לקטעים בתוך מסמך ה-SVG. אם לא יצוין מזהה קטע, ה-<use>
לא יוכל לפתור את היעד ולא יהיה רינדור או הפניה.
בעזרת התכונה הזו, אפשר להשמיט קטעים או לציין רק את שם קובץ ה-SVG החיצוני, והמערכת תתייחס באופן אוטומטי לאלמנט הבסיס. כך לא תצטרכו לשנות את המסמך שאליו מתייחסים רק כדי להקצות מזהה לשורש. השיפור הזה מפשט את תהליך העריכה הידני ומשפר את היעילות.
הצבע המשני של המערכת במאפיין accent-color
הורחב ל-Windows ול-ChromeOS
כך תוכלו להשתמש בצבע המשני של מערכת ההפעלה באלמנטים של טפסים. באמצעות מאפיין ה-CSS accent-color
, אפשר לוודא שרכיבי טפסים כמו תיבות סימון, לחצני רדיו וסרגלי התקדמות יקבלו באופן אוטומטי את צבע הרקע המוגדר במערכת ההפעלה של המשתמש. התכונה הזו נתמכת ב-macOS מאז 2021, ועכשיו היא נתמכת גם ב-Windows וב-ChromeOS.
view-transition-name: match-element
הערך match-element
של המאפיין view-transition
יוצר מזהה ייחודי על סמך הזהות של הרכיב, והוא נשאר זהה לרכיב הזה. האפשרות הזו משמשת במקרים של אפליקציות עם דף יחיד, שבהם הרכיב זז ואתם רוצים להוסיף לו אנימציה באמצעות מעבר תצוגה.
ממשקי API של אתרים
יצירת פרטי כניסה מסוג WebAuthn ל 'תשלום': סוג השגיאה שהושלמה
תיקון של סוג השגיאה שהושלחה במהלך יצירת פרטי הכניסה של WebAuthn לפרטי הכניסה של payment
. בגלל אי-התאמה היסטורית במפרט, יצירת פרטי כניסה מסוג payment
ב-iframe במקור אחר ללא הפעלת משתמש תגרום להשלכת SecurityError
במקום NotAllowedError
, שהוא הערך שמופיע כשמשתמשים בפרטי כניסה ללא תשלום. זהו שינוי שעלול לגרום לכשל. קוד שזיהה בעבר את סוג השגיאה שהופיעה (למשל, e instanceof SecurityError
) יושפע מכך. קוד שמטפל באופן כללי בשגיאות במהלך יצירת פרטי הכניסה (לדוגמה, catch (e)
) ימשיך לפעול בצורה תקינה.
חלוקה למחיצות של כתובות URL מסוג Blob: אחזור/ניווט
בהמשך לחלוקת האחסון למחיצות, האפשרות הזו מטמיעה חלוקה למחיצות של הגישה לכתובות URL של Blob לפי מפתח האחסון (אתר ברמה העליונה, מקור המסגרת והערך הבוליאני has-cross-site-ancestor
), מלבד ניווטים ברמה העליונה, שחלוקתם למחיצות תישאר רק לפי מקור המסגרת.
אפשר לבטל את השינוי הזה באופן זמני על ידי הגדרת המדיניות PartitionedBlobURLUsage
. המדיניות הזו תצא משימוש כשכללי המדיניות הארגונית האחרים שקשורים לחלוקה למחיצות באחסון יוצאו משימוש.
סטאקים של קריאות בדוחות קריסה מדפי אינטרנט שלא מגיבים
התכונה הזו מתעדת את סטאק הקריאות של JavaScript כשדף אינטרנט מפסיק להגיב בגלל קוד JavaScript שמריץ לולאה אינסופית או חישוב ארוך מאוד אחר. כך המפתחים יכולים לזהות בקלות רבה יותר את הגורם לאי-התגובה ולתקן אותו. סטאק הקריאות של JavaScript נכלל ב-API לדיווח על קריסות כשהסיבה היא חוסר תגובה.
סוגי צבעים של נקודה צפה בקנבס
הוספה של היכולת להשתמש בפורמטים של פיקסלים עם נקודת צפה (לעומת נקודת קבועה של 8 ביט) באמצעות CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
ו-ImageData
. הדבר נחוץ לאפליקציות עם רמת דיוק גבוהה (למשל, הדמיה רפואית), לתוכן בטווח דינמי גבוה ולמרחבי צבעים לעבודה לינאריים.
איסור על עיבוד מראש של HTTP בטקסט ללא הצפנה לא מהימן
בשלב זה, העיבוד מראש מותר ב-HTTP וב-HTTPS, אבל טעינה מראש פועלת רק ב-HTTPS. הגבלת העיבוד מראש כך שיהיה עקבי עם האחזור מראש.
Document-Isolation-Policy
Document-Isolation-Policy
מאפשר למסמך להפעיל את crossOriginIsolation
בעצמו, בלי צורך לפרוס את COOP או COEP, ולא משנה מהו סטטוס crossOriginIsolation
של הדף. המדיניות נתמכת בבידוד תהליכים. בנוסף, משאבי המשנה של המסמך ממקורות שונים ללא CORS יטופלו באופן הבא: הם יטענו ללא פרטי כניסה, או שיהיה צורך לכלול בהם כותרת CORP.
מידע נוסף זמין במאמר מדיניות בנושא בידוד מסמכים: הפעלה קלה של תכונות אינטרנט מתקדמות.
Ed25519 בקריפטוגרפיה של האינטרנט
התכונה הזו מוסיפה תמיכה באלגוריתמים של Curve25519 ב-Web Cryptography API, כלומר אלגוריתם החתימה Ed25519.
רישום ביומן של כתובות IP ודיווח עליהן
כדי לשפר את יכולות המעקב אחר אבטחה ואת התגובה לתקריות, אנחנו ב-Chrome Enterprise אוספים כתובות IP מקומיות ומרחוקות ומדווחים עליהן, ואז שולחים את כתובות ה-IP האלה ליומני החקירה של האבטחה (SIT). בנוסף, ב-Chrome Enterprise האדמינים יוכלו לשלוח את כתובות ה-IP לספקי SIEM של צד ראשון ושלישי באמצעות המחבר לדיווח של Chrome Enterprise. התכונה הזו תהיה זמינה ללקוחות Chrome Enterprise Core.
שילוב של Promise ב-JavaScript
JavaScript Promise Integration (JSPI) הוא ממשק API שמאפשר לאפליקציות WebAssembly לשלב הבטחות (promises) של JavaScript. הוא מאפשר לתוכנית WebAssembly לפעול כגנרטור של Promise, ומאפשר לתוכנית WebAssembly לקיים אינטראקציה עם ממשקי API שמכילים Promise. באופן ספציפי, כשאפליקציה משתמשת ב-JSPI כדי לקרוא ל-API (JavaScript) עם Promise, קוד WebAssembly מושעה, והמבצע המקורי של הקריאה לתוכנית WebAssembly מקבל Promise שיתמלא כשתוכנית WebAssembly תסתיים סוף סוף.
Language Detector API
Language Detector API הוא ממשק API ל-JavaScript שמזהה את השפה של מחרוזת שסופקה. ה-API הזה מבוסס על מודל בסיסי שעבר כוונון מדויק לביצוע משימות של זיהוי שפה.
כשנותנים מחרוזת, ה-Language Detector API מחזיר רשימה מסודרת של השפות שזוהו, יחד עם ציון ביטחון לכל תוצאה.
מפתחים יכולים גם להעביר רשימה של שפות קלט צפויות כשיוצרים מכונה של גלאי שפות, כדי לעזור לבצע אופטימיזציה לתרחישי שימוש שבהם צפוי שיתבצע זיהוי בשפות מסוימות.
הגבלת מאפיינים וארגומנטים של float ב-SVGMatrix
, ב-SVGRect
וב-SVGPoint
כשמגדירים מאפיינים או ארגומנטים מסוג float ב-SVGMatrix
, ב-SVGRect
וב-SVGPoint
, עכשיו אי אפשר להגדיר אותם כ-Infinity
או כ-Nan
. אם מנסים להגדיר אותו, מתרחש חריג של JavaScript, כפי שמוגדר במפרט SVG.
Selection API getComposedRanges
ו-direction
התכונה הזו כוללת שתי שיטות API חדשות ל-Selection API:
Selection.direction
שמחזיר את כיוון הבחירה בתור"none"
, "forward"
או"backward"
Selection.getComposedRanges()
שמחזירה רשימה של 0 או 1 'מורכבים'StaticRange
אפשר להשתמש ב-StaticRange
'מורכב' כדי לחצות גבולות של צללים, אבל לא ניתן לעשות זאת באמצעות Ranges רגילים.
לדוגמה:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
אם הבחירה חוצה גבול של שורש צל שאינו מופיע ברשימה shadowRoots
, נקודות הקצה של StaticRange
יעברו 'שינוי היקף' כך שיימצאו מחוץ לעץ הזה. כך אנחנו מוודאים שלא נחשוף עצים מוצלים לא מוכרים.
תוספי היקף לאפליקציות אינטרנט
הוספת שדה scope_extensions
למניפסט של אפליקציית אינטרנט, שמאפשר לאפליקציות אינטרנט להרחיב את ההיקף שלהן למקורות אחרים.
דוגמה:
{
"name": "Example",
"display": "standalone",
"start_url": "/index.html",
"scope_extensions": [
{"type" : "type", "origin" : "https://example.com"}
]
}
כך אפשר להציג אתרים ששולטים במספר תת-דומיינים ודומיינים ברמה העליונה כאפליקציית אינטרנט אחת.
המקור שצוין צריך לאשר את השיוך לאפליקציית האינטרנט באמצעות קובץ תצורה .well-known/web-app-origin-association
.
{
"https://sample-app.com/": {
"scope": "/"
}
}
רמזים להסתעפות ב-WebAssembly
שיפור הביצועים של קוד WebAssembly שנאסף על ידי עדכון המנוע כך שיידע שיש סיכוי גבוה שההוראה מסוימת להסתעפות תעבור דרך נתיב ספציפי. כך המנוע יכול לקבל החלטות טובות יותר לגבי פריסת הקוד (שיפור ההיטים במטמון ההוראות) והקצאת הרשומות.
WebGPU: GPUTextureView
לקישור externalTexture
עכשיו מותר להשתמש ב-GPUTextureView
לקישור externalTexture
בזמן יצירת GPUBindGroup
.
WebGPU: עומס יתר ב-copyBufferToBuffer
השיטה GPUCommandEncoder
copyBufferToBuffer()
כוללת עכשיו דרך פשוטה יותר להעתיק מאגרים שלמים באמצעות עומס יתר חדש עם פרמטרים אופציונליים של אופסים וגדלים.
גרסאות מקור חדשות לניסיון
בגרסה 137 של Chrome אפשר להצטרף לגרסאות הבטא החדשות הבאות.
מאפיין חסימה של עיבוד עם קצב פריימים מלא
הוספת אסימון חדש של קצב מסגרת מלא לחסימת רינדור למאפייני החסימה. כשהמרת הדפים חסומה באמצעות האסימון של קצב הפריימים המלא, המרת הדפים תפעל בקצב פריימים נמוך יותר כדי לשמור יותר משאבים לטעינה.
השהיית ההפעלה של מדיה ב-iframes שלא עברו רינדור
הוספת מדיניות הרשאות "media-playback-while-not-rendered"
כדי לאפשר לאתרים שמטמיעים תוכן להשהות את הפעלת המדיה של iframes מוטמעים שלא עוברים עיבוד – כלומר, שהמאפיין display שלהם מוגדר כ-none. כך המפתחים יוכלו ליצור חוויות שימוש ידידותיות יותר למשתמשים ולשפר את הביצועים, כי הדפדפן יטפל בהפעלה של תוכן שלא גלוי למשתמשים.
Rewriter API
Rewriter API משנה את טקסט הקלט ומנסח אותו מחדש בדרכים המבוקשות, על סמך מודל שפה מבוסס-AI במכשיר. מפתחים יכולים להשתמש ב-API הזה כדי להסיר מילים מיותרות בטקסט כדי להתאים למגבלת המילים, לשנות את הניסוח של הודעות כך שיתאימו לקהל היעד או כדי שהן יהיו יותר פרודוקטיביות אם נמצא בהן שפה פוגענית, לשנות את הניסוח של פוסט או מאמר כך שיכללו מילים ומונחים פשוטים יותר ועוד.
Writer API
אפשר להשתמש ב-Writer API כדי לכתוב תוכן חדש על סמך הנחיה למטלת כתיבה, שתומכת במודל שפה מבוסס-AI במכשיר. המפתחים יוכלו להשתמש ב-API הזה כדי ליצור הסברים טקסטואליים של נתונים מובְנים, לכתוב פוסט על מוצר על סמך ביקורות או תיאור המוצר, להרחיב רשימות של יתרונות וחסרונות לתצוגות מלאות ועוד.