בגרסה 74 של Chrome הוספנו תמיכה באפשרויות הבאות:
- יצירת שדות פרטיים של הכיתה ב-JavaScript היא עכשיו נקייה יותר.
- אתם יכולים לזהות מתי המשתמש ביקש חוויית תנועה מופחתת.
- אירועי מעבר של שירות CSS
- הוספת ממשקי API חדשים של מדיניות התכונות כדי לבדוק אם התכונות מופעלות או לא.
ויש עוד הרבה!
קוראים לי Pete LePage. נצלול פנימה ונראה מה חדש למפתחים בגרסה 74 של Chrome.
יומן שינויים
זוהי רק רשימה חלקית של השינויים העיקריים. בקישורים שבהמשך מפורטים שינויים נוספים בגרסה 74 של Chrome.
- מה חדש בכלי הפיתוח ל-Chrome (גרסה 74)
- תכונות שהווצאו משימוש והוסרו מ-Chrome 74
- עדכונים ב-ChromeStatus.com לגבי Chrome 74
- מה חדש ב-JavaScript בגרסה 74 של Chrome
- רשימת השינויים במאגר המקור של Chromium
שדות פרטיים לכיתה
שדות של כיתות מפשטים את התחביר של הכיתה על ידי הימנעות מהצורך בפונקציות של קונסטרוקטור רק כדי להגדיר מאפייני מופעים. ב-Chrome 72 הוספנו תמיכה בשדות של כיתות ציבוריות.
class IncreasingCounter {
// Public class field
_publicValue = 0;
get value() {
return this._publicValue;
}
increment() {
this._publicValue++;
}
}
ואמרתי שאנחנו עובדים על שדות פרטיים של מחלקות. יש לי חדשות טובות: שדות של כיתות פרטיות נוספו לגרסה 74 של Chrome. התחביר החדש של שדות פרטיים דומה לזה של שדות ציבוריים, אלא שמסמנים את השדה כפרטי באמצעות #
(סימן השלוש נקודות). אפשר להתייחס ל-#
כחלק משם השדה.
class IncreasingCounter {
// Private class field
#privateValue = 0;
get value() {
return this.#privateValue;
}
increment() {
this.#privateValue++;
}
}
חשוב לזכור ששדות private
הם פרטיים. אפשר לגשת אליהם בתוך הכיתה, אבל הם לא זמינים מחוץ לכיתה.
class SimpleClass {
_iAmPublic = 'shared';
#iAmPrivate = 'secret';
doSomething() {
...
}
}
מידע נוסף על כיתות ציבוריות ופרטיות זמין בפוסט של Mathias בנושא שדות של כיתות.
prefers-reduced-motion
חלק מהמשתמשים דיווחו על בחילה כשהם צפו בגלילה בפרלקס, בזום ובאפקטים מוזיקליים אחרים. כדי לפתור את הבעיה, מערכות הפעלה רבות מספקות אפשרות להפחתת התנועה ככל האפשר.
Chrome מספק עכשיו שאילתה של מדיה, prefers-reduced-motion
– חלק ממפרט Media Queries ברמה 5 – שמאפשרת לזהות מתי האפשרות הזו מופעלת.
@media (prefers-reduced-motion: reduce)
נניח שיש לי לחצן הרשמה שמושך תשומת לב לעצמו בתנועה קלה. השאילתה החדשה מאפשרת לי לכבות את התנועה עבור הלחצן בלבד.
button {
animation: vibrate 0.3s linear infinite both;
}
@media (prefers-reduced-motion: reduce) {
button {
animation: none;
}
}
כדאי לקרוא את המאמר של Tom Move Ya! יכול להיות גם שלא, אם המשתמש מעדיף צמצום התנועה! לפרטים נוספים.
אירועי transition
של CSS
לפי מפרט המעברים ב-CSS, צריך לשלוח אירועי מעבר כשמעבר מתווסף לתור, מתחיל, מסתיים או מבוטל. האירועים האלה נתמכים בדפדפנים אחרים כבר זמן מה…
אבל עד עכשיו לא הייתה תמיכה בהם ב-Chrome. ב-Chrome 74 תוכלו עכשיו להאזין ל:
transitionrun
transitionstart
transitionend
transitioncancel
כשמקשיב לאירועים האלה, אפשר לעקוב אחרי ההתנהגות או לשנות אותה כשמפעילים את המעבר.
עדכוני API של מדיניות התכונות
מדיניות התכונות מאפשרת להפעיל, להשבית ולשנות באופן סלקטיבי את ההתנהגות של ממשקי API ותכונות אינטרנט אחרות. אפשר לעשות זאת דרך הכותרת Feature-Policy או דרך מאפיין ההרשאה ב-iframe.
Feature-Policy: geolocation 'self'
<iframe ... allow="geolocation self">
</iframe>
בגרסה 74 של Chrome נוספה קבוצה חדשה של ממשקי API לבדיקה אילו תכונות מופעלות:
- אפשר לקבל רשימה של התכונות המותרות באמצעות
document.featurePolicy.allowedFeatures()
. - אפשר לבדוק אם תכונה ספציפית מותרת באמצעות
document.featurePolicy.allowsFeature(...)
. - בנוסף, תוכלו לקבל רשימה של דומיינים שמופיעים בדף הנוכחי שמאפשרים הצגה של תכונה מסוימת באמצעות
document.featurePolicy.getAllowlistForFeature()
.
פרטים נוספים זמינים בפוסט 'מבוא למדיניות התכונות'.
ועוד.
אלה רק כמה מהשינויים בגרסה 74 של Chrome למפתחים, כמובן שיש עוד הרבה. אישית, אני מאוד מתרגש לגבי KV Storage, שירות אחסון מהיר במיוחד, אסינכרוני, של מפתחות/ערכים, שזמין כגרסת טרום-השקה (origin trial).
Google I/O ייערך בקרוב!
דרך אגב, Google I/O מתקרב (7 עד 9 במאי), ואנחנו נציג לכם הרבה דברים חדשים ומעניינים. אם אין לכם אפשרות להשתתף, כל הסשנים יועברו בשידור חי ויופיעו לאחר מכן בערוץ YouTube למפתחי Chrome.
להרשמה
רוצים להתעדכן בסרטונים שלנו? הירשמו לערוץ YouTube של מפתחי Chrome ותקבלו התראה באימייל בכל פעם שנעלה סרטון חדש.
קוראים לי פיט לייפ (Pete LePage), ואחרי שגרסת Chrome 75 תפורסם, אספר לכם מה חדש ב-Chrome.