Chrome 120 זמין עכשיו בגרסת בטא וכולל הרבה עדכונים מרגשים למפתחי תוספים ל-Chrome.
זו הייתה שנה עמוסה עבור צוות התוספים של Chrome. בעקבות גרסת הבטא של Chrome 120 מאתמול, פלטפורמת התוספים עושה צעד גדול נוסף קדימה. כדי לקבל סקירה כללית על מה שקרה השנה, אתם יכולים לעיין בעדכונים הרבעוניים שלנו מיולי ומאוקטובר. כדאי לקרוא מה חדש ב-Chrome 120 לתוספים.
צמצום הפער בפלטפורמה
בעקבות ההשקה של גרסה 120 של Chrome, נסגור את שאר הפערים בפלטפורמות שמפורטות בדף הבעיות המוכרות של Manifest V3. ממשק ה-API החדש של userScript וכן תמיכה בטיפול בקבצים ב-ChromeOS היו שני הפריטים הנותרים ברשימה שעכשיו אנחנו יכולים להשמיט. יחד עם השינויים שתוארו בעדכון הרבעוני הקודם, אנחנו מרוצים מאוד מהמצב הנוכחי של פלטפורמת התוספים ל-Chrome וממה שהשגנו בשנה האחרונה.
ממשק API חדש של userScripts
עכשיו התמיכה בסקריפטים של המשתמש הסתיימה! סקריפטים של משתמש הם קטעי קוד (בדרך כלל קטנים יחסית) שתוספים יכולים להחדיר לדפי אינטרנט כדי לשנות את המראה או ההתנהגות של הדף. המשתמש יכול ליצור אותם ישירות או לגלות אותם בכמה מאגרי סקריפטים שונים של משתמש ברחבי האינטרנט. מעכשיו, תוספי Manifest V3 של Chrome 120 יכולים לנהל את אוסף הסקריפטים של המשתמשים ולקבוע מתי ואיך להחדיר אותם בדפי אינטרנט.
יש הבדל משמעותי אחד בין תמיכה בסקריפטים של משתמשים במניפסט מגרסה V2 ובמניפסט V3. הסקריפטים של המשתמשים הם חזקים ודורשים אמון רב במחבר הסקריפט. לכן, צוות Chrome החליט שהמשתמשים חייבים להפעיל מצב פיתוח לפני שיוכלו להריץ סקריפט של משתמש.
![דרך דף התוספים](https://developer.chrome.com/static/blog/chrome-120-beta-whats-new-for-extensions/image/extensions-page-df77624dbaf7e.png?authuser=9&hl=he)
הדוגמה החדשה של userScript ממחישה גישה פשוטה שמאפשרת לזהות אם מצב פיתוח מופעל ולאפשר תהליך הצטרפות פשוט.
![תהליך לדוגמה של תחילת השימוש בסקריפטים של משתמשים.](https://developer.chrome.com/static/blog/chrome-120-beta-whats-new-for-extensions/image/sample-onboarding-flow-u-cd28bdd7c186a.png?authuser=9&hl=he)
כדי להתחיל, אפשר לעיין במסמכי התיעוד או לעיין בדוגמה הרשמית.
מגבלות גבוהות יותר של כללים סטטיים של DNR
הגדלנו באופן משמעותי את המגבלה על מערכי כללים סטטיים פעילים מ-10 ל-50. בנוסף, הגדלנו את המספר הכולל של קבוצות כללים סטטיות שמותרות מ-50 ל-100. זאת בתגובה למשוב שקיבלנו בקבוצת הקהילה של תוספי האינטרנט.
ממשק API חדש של ReadList
רשימת הקריאה נוספה ל-Chrome בשנת 2021. בשנה שעברה, צוות Chrome הפך את הגישה לרשימת הקריאה בקלות רבה יותר באמצעות החלונית הצדדית. בגרסה 120 של Chrome, אנחנו מוסיפים לתוספים ל-Chrome את היכולת ליצור, לקרוא, לעדכן ולמחוק רשומות ברשימות הקריאה. למידע נוסף, אתם יכולים לעיין במסמכי ה-API ובדוגמה החדשה.
![רשימת הקריאה של Chrome שבה מוצגים דפי מסמכי תוספים.](https://developer.chrome.com/static/blog/chrome-120-beta-whats-new-for-extensions/image/chromes-reading-list-sho-e4bf148564009.png?authuser=9&hl=he)
טיפול בקבצים ב-ChromeOS
טיפול בקבצים מאפשר לתוספים לפתוח קבצים עם סוגי MIME וסיומות קבצים שצוינו, בדומה לטיפול בקבצים בפלטפורמת אינטרנט. מידע נוסף על אופן השימוש בתכונה הזו זמין במאמר טיפול בקבצים ב-ChromeOS.
![צילום מסך של הקובץ הפתוח עם תיבת הדו-שיח של התוסף ב-ChromeOS](https://developer.chrome.com/static/blog/chrome-120-beta-whats-new-for-extensions/image/screenshot-the-open-file-99fed57d1a582.png?authuser=9&hl=he)
הפעלת התראה בעוד 30 שניות
זהו עדכון קטן, אבל הוא נותן מענה לפער חשוב במחזור החיים של קובץ השירות (service worker). בגלל האופי המבוסס על אירועים של Service Workers, הדרך המומלצת להפעיל אירוע בעתיד היא באמצעות chrome.alarms
. ממשק ה-API של ההתראות מבטיח שהאירוע יופעל גם אם קובץ השירות (service worker) יכובה בינתיים.
אבל יש מלכוד. לפני Chrome 120, פרק הזמן הקצר ביותר להפעלת התראה היה דקה. עם זאת, Service Workers מפסיקים לפעול לאחר 30 שניות של חוסר פעילות. לכן לא הייתה דרך פשוטה לתזמן התראה להפעלה תוך 45 שניות, כי כשמשתמשים ב-setTimeout()
כדי להגדיר אירוע תוך 45 שניות, קובץ השירות (service worker) עלול להיכבות לפני שהאירוע הופעל.
החל מ-Chrome 120, מעכשיו אפשר להפעיל אירוע באמצעות:
- פחות מ-30 שניות באמצעות
setTimeout()
. - כל דבר ארוך מ-30 שניות או שווה לו באמצעות
chrome.alarms
:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
סיכום
אנחנו נרגשים מאוד מההתקדמות של פלטפורמת ההרחבה במהלך השנה האחרונה. Chrome 120 הוא צעד גדול נוסף להגדלת מגבלות ה-DNR ותמיכה בסקריפטים של משתמשים.