מה קורה בתוספים ל-Chrome?

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

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

ממשקי API ותכונות חדשות לתוספים

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

המיטב

בעיות ידועות שהותרו

צוות התוספים פועל באופן פעיל כדי לפתור בעיות יציבות ב-Manifest V3. בגרסת Chrome 116 השקנו שיפורים רבים שעזרו לנו להתקדם בצורה משמעותית לקראת סגירת הפער בתכונות בין Manifest V2 ל-V3. בגרסה 120 של Chrome, נשלים את הטיפול בכל הפערים בפלטפורמה שנתעדפו, ונסגור את כל הבאגים הקריטיים שמתועדים בדף הבעיות המוכרות. כל התכונות זמינות כרגע ב-Chrome 120 Canary, מלבד התמיכה ב-fileHandler ל-ChromeOS Lacros ו-userScripts API שיושקו בהמשך החודש. לפרטים נוספים, אפשר לעיין בדף העדכני של הבעיות המוכרות.

יציבות משופרת של Service Worker

בעיות יציבות שקשורות לשירותי עובדים נפתרו. ב-Chrome 116 הוספנו תכונת keep-alive חזקה לממשקי API של תוספים שמציגים בקשה למשתמש ושפרנו את התמיכה ב-WebSockets (ראו המדריך שימוש ב-WebSockets בתוספים). מגרסה 118 של Chrome ואילך, עובד שירות יישאר פעיל במהלך סשן פעיל של Debugger API.

פרטים נוספים זמינים בהנחיות העדכניות שלנו בנושא Service Worker. אם המשתמשים שלכם עדיין נתקלים בבעיות יציבות שקשורות ל-service worker בגרסאות Chrome אחרי 119, נשמח לדעת.

אבטחה מוגברת

בעבר, ניווט לכתובות URL מסוימות מסוג chrome:// באמצעות tabs.update(),‏ tabs.create ו-windows.create() גרם לשגיאה או לקריסה של Chrome. בנוסף, לא ניתן היה לפתוח כתובת URL של JavaScript ב-tabs.update(). ב-Chrome 117 הרחבנו את מספר כתובות ה-URL הנתמכות של chrome://, וחסימת כתובות ה-URL של JavaScript חלה עכשיו גם על כל השיטות של API של התוספים.

ב-Chrome 117, משתמשים יקבלו התראות יזום בדף התוספים של Chrome אם תוסף שהם התקינו כבר לא זמין בחנות האינטרנט של Chrome. מצב כזה יכול לקרות אם המפתח מבטל את הפרסום של התוסף, אם הוא יוסר בגלל הפרות מדיניות או אם הוא יזוהה כתוכנה זדונית. לסקירה מפורטת, אפשר לעיין במאמר הוספת בדיקת האבטחה לדף chrome://extensions.

ב-Chrome 118, תוספים לא יוכלו לנווט לכתובות URL מסוג file:// באמצעות ממשקי ה-API chrome.tabs ו-chrome.windows, אלא אם האפשרות 'התרת גישה לכתובות URL של קבצים' מופעלת בדף הפרטים של התוסף. הדיון ב-WECG

השקות נוספות של ממשקי API

  • Runtime API: החל מגרסה Chrome 116, אפשר להשתמש ב-runtime.getContexts() כדי לאחזר מידע על הקשרים פעילים. לדוגמה, אפשר לבדוק אם יש מסמך פעיל מחוץ למסך.
  • Side Panel API ב-Chrome 116 אפשר להשתמש ב-sidepanel.open() כדי לפתוח את החלונית הצדדית של התוסף באופן פרוגרמטי בתגובה לתנועה של המשתמש, כמו לחיצה על תפריט ההקשר.
  • TabCapture API נוספה היכולת לקרוא ל-getMediaStreamId() מ-service worker של התוסף ולקבל אובייקט MediaStream ממזהה של שידור במסמך מחוץ למסך ב-Chrome 116. דוגמאות מפורטות זמינות במאמר הקלטת אודיו וצילום מסך.
  • DeclarativeNetRequest API: ערך ברירת המחדל של המאפיין isUrlFilterCaseSensitive השתנה ל-false ב-Chrome 118.

בקרוב...

אנחנו מתכננים לטפל בכל הפריטים הנותרים בדף הבעיות המוכרות עם השקת Chrome 120. בנוסף, אנחנו מתכננים להוסיף את התכונות הבאות:

  • UserScripts API יאפשר למנהלי סקריפטים של משתמשים לתאם את האופן והמועד להחדרת אוסף של סקריפטים של משתמשים לדפי אינטרנט. פרטים נוספים זמינים בהצעה של WECG.
  • ReadingList API יאפשר למפתחים ליצור, לקרוא, לעדכן ולמחוק מטא-נתונים שנמצאים בחלונית 'רשימת קריאה' בחלונית הצדדית. ההכרזה מופיעה בסרטון מה חדש בתוספים של Chrome.
  • בעקבות משוב שקיבלנו בקבוצת הקהילה של תוספי האינטרנט, אנחנו מגדילים באופן משמעותי את המגבלה על כללי סטטיקה מופעלים מ-10 ל-50. בנוסף, הגדלנו את המספר הכולל של כללי המדיניות הסטטיים שמותר להשתמש בהם מ-50 ל-100. התכונה הזו זמינה כרגע ב-Canary.
  • File Handling API: יהיה זמין לתוספים ל-ChromeOS החל מגרסה 120 של ChromeOS. ה-API הזה מאפשר לתוספים לפתוח קבצים עם סוגי MIME ספציפיים וסיומות קבצים ספציפיות, באופן דומה לטיפול בקבצים בפלטפורמת אינטרנט.
  • כדי שתוספים יוכלו להשתמש ב-Push API לאינטרנט דרך self.registration.pushManager.subscribe() בלי להציג התראה גלויה למשתמש, צריך להגדיר את userVisibleOnly לערך false. כך התראות דחיפה יהיו אלטרנטיבה חלקה יותר ל-WebSockets בקובצי שירות (MV3) לתקשורת אסינכררונית בין שרת ללקוח. פרטים נוספים זמינים בבאג ב-Chromium ובדיון ב-WECG.

כדאי לעקוב אחרי העדכונים בדף מה חדש בתוספים כדי לקבל הודעות ברגע שהתכונות האלה יהיו זמינות ב-Chrome Beta.

שדרוגי מסמכי תיעוד

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

המיטב

עדכונים נוספים

בקרוב...

  • הפנייה ומדריך ל-User Scripts API.
  • מדריך ודוגמאות ל-Firebase.
  • הפניית API של ReadingList.

עיצוב מחדש של חנות האינטרנט של Chrome 🌈

צילום מסך של דף הבית של חנות האינטרנט של Chrome..
דף הבית החדש של חנות האינטרנט של Chrome

מוקדם יותר החודש הודענו על תצוגה מקדימה מוקדמת של חנות האינטרנט המשודרגת של Chrome, כפי שרמזנו ב-Google I/O. כדאי לבדוק בעצמך: https://chromewebstore.google.com/. כמה שינויים בולטים:

  • הרחבנו את רשימת הקטגוריות מ-11 ל-17 ב-3 קבוצות קטגוריות חדשות.
  • השלמה אוטומטית משופרת בחיפוש.
  • צילומי המסך מוצגים עכשיו באיכות גבוהה יותר באופן משמעותי. אם עדיין לא עשיתם זאת, תוכלו להעלות צילומי מסך בגודל 1280x800.
  • עכשיו מופיעות שורות חדשות בתשובות לשאלות בכרטיסיית התמיכה.
  • כשתענו לביקורות של משתמשים ולשאלות תמיכה, התשובה שלכם תכלול עכשיו תג 'מפתח' לצד השם שלכם.
  • כדי לספק למשתמשים קישור ישיר לדף הביקורות, מוסיפים את הטקסט ‎/reviews בסוף כתובת ה-URL של פריט החנות. לדוגמה: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews.

תודה לכל מי ששלח משוב עד עכשיו בקבוצת chromium-google. אתם מוזמנים להצטרף לדיון או לשלוח משוב ישירות לצוות CWS באמצעות האפשרות שליחת משוב בתפריט:

שליחת משוב בדף של חנות האינטרנט של Chrome
שליחת משוב בדף של חנות האינטרנט של Chrome

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

💡 הידעתם?

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

יצירת קשר 🙌

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

  • תוכנית מומחי הפיצ'רים של Google הושקה באוגוסט. יש לנו יותר מתריסר מומחים חדשים ב-GDE שמתמקדים בתוספים ל-Chrome מרחבי העולם, והם מספקים לנו משוב מצוין. זו תקופה מרגשת מאוד בתוכנית!
  • השתתפנו ב-TPAC (הכנס השנתי של W3C) כחלק מקבוצת הקהילה של תוספי האינטרנט, ונפגשנו עם נציגים מ-Firefox ומ-Safari ועם כמה חברים בקהילה. עשינו התקדמות משמעותית בכמה נושאים, כולל מעבר לממשקי API עקביים יותר של תוספים, עבודה על מפרט ושימוש בבדיקות של פלטפורמת האינטרנט כדי ליצור חבילת בדיקות חדשה. פרוטוקול הפגישה המלא זמין במאגר של WECG.
  • בשבוע שעבר, צוות התוסף השתתף באירוע Ad-Filtering Dev Summit באמסטרדם. הם פגשו כמה מכם בצ'אט קפה שהם ערכו לפני שבוע הפסגה ושעות המשרד הפתוחות ביום שישי.
    צוות התוספים בכנס Ad-filtering Dev Summit
    צוות התוספים בכנס Ad-filtering Dev Summit

גם אם לא הצלחתם להשתתף באחד מהאירועים האלה, אתם יכולים להמשיך להיות מעורבים על ידי שליחת שאלות בקבוצת Google‏ chromium-extensions, מעקב אחרי הדיונים של שותפי הדפדפנים ב-WECG ודיווח על בעיות במסמכים.

שוב תודה שהצטרפת לקהילת מפתחי התוספים!