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

איימי סטים
איימי סטים

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

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

ממשקי API ופיצ'רים חדשים לתוספים

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

תוצאות נבחרות

בעיות ידועות שנפתרו

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

יציבות משופרת של קובץ השירות (Service Worker)

נפתרו בעיות יציבות שקשורות ל-Service Worker. בגרסה 116 של Chrome, הוספנו לממשקי API של תוספים שמציגים הודעה למשתמש ותמיכה משופרת ב-WebSockets (אפשר לעיין במדריך בנושא שימוש ב-WebSockets בתוספים). מגרסה 118 של Chrome ואילך, קובץ שירות (service worker) יישאר פעיל במהלך סשן פעיל של Debugger API.

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

אבטחה מוגברת

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

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

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

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

  • Runtime API: החל מגרסה 116 של Chrome, תוכלו להשתמש ב-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. האפשרות הזו זמינה כרגע בקנריים.
  • ה-API לטיפול בקבצים: יהיה זמין לתוספים ל-ChromeOS החל מ-ChromeOS 120. הכלי מאפשר לתוספים לפתוח קבצים עם סוגי MIME וסיומות קבצים שצוינו באופן דומה לטיפול בקבצים בפלטפורמת אינטרנט.
  • תוספים יוכלו להשתמש ב-Push API של האינטרנט דרך self.registration.pushManager.subscribe() בלי להציג הודעה גלויה למשתמשים, אם מגדירים את userVisibleOnly ל-false. כך, הודעות שנשלחות מהאפליקציה יהפכו לחלופה חלקה יותר ל-WebSockets ב-Service Workers (MV3) לתקשורת אסינכרונית בין שרת לקוח לשרת. לפרטים נוספים, אפשר לעיין בבאג ב-Chromium ובדיון ב-WECG.

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

שדרוגי מסמכים

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

תוצאות נבחרות

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

בקרוב…

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

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

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

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

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

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

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

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

{7}הידעת?

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

שימו לב 🙌

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

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

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

שוב תודה על ההשתתפות בקהילת מפתחי התוספים!