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

עיצוב ממשק המשתמש

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

שליטה בדפדפן

ממשקי ה-API של התוספים של Chrome מאפשרים לשנות את אופן הפעולה של הדפדפן.
ביטולי הגדרות מאפשרים לתוספים לבטל את ההגדרות שנבחרו ב-Chrome. בנוסף, תוספים יכולים להשתמש בשינוי דפים של HTML כדי להחליף דף ש-Google Chrome מספק בדרך כלל. תוסף יכול לעקוף את מנהל הסימניות, כרטיסיית ההיסטוריה או הכרטיסייה החדשה.
תוספים לכלי הפיתוח מוסיפים פונקציונליות לכלי הפיתוח ל-Chrome באמצעות גישה לממשקי API של תוספים ספציפיים לכלי הפיתוח דרך דף של כלי הפיתוח שנוסף לתוסף. אפשר גם להשתמש ב-API‏ browser.debugger כדי להפעיל את פרוטוקול הניפוי באגים מרחוק של Chrome. אפשר לצרף לכרטיסייה אחת או יותר כדי לבצע אינסטרומנטציה של אינטראקציה עם הרשת, לנפות באגים ב-JavaScript, לשנות את ה-DOM ועוד.
browser.notifications API מאפשר ליצור התראות באמצעות תבניות ולהציג את ההתראות האלה למשתמשים במגש המערכת שלהם.
משתמשים ב-browser.history API כדי ליצור אינטראקציה עם רשומת הדפדפן של הדפים שביקרתם בהם, וב-browser.browsingData API כדי לנהל נתוני גלישה אחרים. משתמשים בbrowser.topSites כדי לגשת לאתרים שבהם מבקרים בתדירות הגבוהה ביותר.
משתמשים בממשקי API כמו browser.tabs,‏ browser.tabGroups ו-browser.windows כדי ליצור, לשנות ולסדר את הדפדפן של המשתמש.
אתם יכולים להשתמש ב-API‏ browser.commands כדי להוסיף מקשי קיצור שמפעילים פעולות בתוסף. לדוגמה, אפשר להוסיף קיצור דרך לפתיחת פעולת הדפדפן או לשליחת פקודה לתוסף.
משתמשים ב-API‏ browser.identity כדי לקבל אסימוני גישה מסוג OAuth 2.0.
ממשק ה-API‏ browser.management מספק דרכים לניהול רשימת התוספים שמותקנים ופועלים. הוא שימושי במיוחד לתוספים שמבטלים את ההגדרה של דף הכרטיסייה החדשה המובנה.
browser.omnibox API מאפשר לכם לרשום מילת מפתח בסרגל הכתובות (omnibox) של Google Chrome.
אפשר להשתמש ב-API‏ browser.privacy כדי לשלוט בשימוש בתכונות ב-Chrome שיכולות להשפיע על הפרטיות של המשתמש. אפשר גם לעיין ב-browser.proxy API כדי לנהל את הגדרות ה-proxy של Chrome.
אתם יכולים להשתמש ב-browser.downloads API כדי להתחיל הורדות, לעקוב אחריהן, לשנות אותן ולחפש אותן באופן פרוגרמטי.
אפשר להשתמש ב-API‏ browser.bookmarks וב-API‏ browser.readingList כדי ליצור את הרשימות האלה, לארגן אותן ולבצע בהן פעולות אחרות.

שליטה באינטרנט

שינוי דינמי של התוכן וההתנהגות של דפי אינטרנט. ניתן לשלוט באינטרנט ולשנות אותו על ידי החדרת סקריפטים, יירוט בקשות רשת ושימוש בממשקי API לאינטרנט לצורך אינטראקציה עם דפי אינטרנט.
סקריפטים של תוכן הם קבצים שפועלים בהקשר של דפי אינטרנט. הם משתמשים במודל אובייקטי מסמך (DOM) רגיל כדי לקרוא פרטים על דפי אינטרנט שבהם הדפדפן מבקר, לערוך בהם שינויים ולהעביר מידע לתוסף ההורה שלהם.
ההרשאה "activeTab" נותנת לתוסף גישה זמנית לכרטיסייה שפעילה כרגע כשהמשתמש מפעיל את התוסף, למשל בלחיצה על הפעולה שלו. הגישה לכרטיסייה נמשכת כשהמשתמש נמצא בדף, מבוטלת כשהמשתמש מנווט מחוץ לכרטיסייה או סוגר אותה.
אפשר להשתמש בממשקי ה-API‏ browser.declarativeNetRequest,‏ browser.webRequest ו-browser.webNavigation כדי לצפות בבקשות רשת, לחסום אותן ולשנות אותן.
מידע על גישות שונות להקלטת אודיו וסרטון מכרטיסייה, מחלון או ממסך באמצעות ממשקי API של פלטפורמת אינטרנט, כמו browser.tabCapture או getDisplayMedia().
משתמשים ב-API של browser.contentSettings כדי לקבוע אם אתרים יכולים להשתמש בתכונות כמו קובצי Cookie,‏ JavaScript ותוספים. באופן כללי יותר, הגדרות התוכן מאפשרות לכם להתאים אישית את ההתנהגות של Chrome לכל אתר בנפרד, במקום באופן גלובלי.

מושגי ליבה

באמצעות ממשקי API של פלטפורמת אינטרנט ושל תוספים, תוכלו ליצור תכונות מורכבות יותר על ידי שילוב רכיבים שונים של ממשק המשתמש ותכונות של פלטפורמת התוספים.
קובץ שירות (service worker) של תוסף (service-worker.js) הוא סקריפט מבוסס-אירועים שהדפדפן מריץ ברקע. בדרך כלל הוא משמש לעיבוד נתונים, לתיאום משימות בחלקים שונים של תוסף, כמנהל אירועים של תוסף.
הבנת הרשאות: איך הן פועלות ומתי אפשר להימנע מלבקש אותן כשלא צריך אותן.
יש כמה דרכים שונות ליישם סינון תוכן ורשתות בתוספים ל-Chrome. מידע נוסף על יכולות סינון התוכן הזמינות לתוספים ועל גישות, טכניקות וממשקי ה-API השונות המשמשים לסינון תוספים ל-Chrome.
פעמים רבות, סקריפטים של תוכן או דפי תוספים אחרים צריכים לשלוח או לקבל מידע מ-Service Worker. במקרים כאלה, כל צד יכול להאזין להודעות שנשלחו מהצד השני ולהגיב באותו ערוץ.
אפשר לתוספים שלך להחליף הודעות עם אפליקציות מקוריות.
תוספי Manifest V3 צריכים לקבץ את כל הקודים שבהם הם משתמשים בתוך התוסף עצמו. יש אסטרטגיות שונות לעשות זאת.
לתוספים ל-Chrome יש ממשק API מיוחד לאחסון, שזמין לכל רכיבי התוספים. היא כוללת ארבעה אזורי אחסון נפרדים לתרחישים ספציפיים לדוגמה, ו-event listener שעוקב אחרי כל עדכון של הנתונים.
ל-Service Workers אין גישת DOM. ממשק ה-API של Offscreen מאפשר לתוסף להשתמש בממשקי DOM API במסמך מוסתר מבלי להפריע לחוויית המשתמש, על ידי פתיחה של כרטיסיות או חלונות חדשים.
בידוד בין מקורות מאפשר לדף אינטרנט להשתמש בתכונות מתקדמות כמו SharedArrayBuffer. תוסף יכול לאשר חסימה לגישה מדומיינים אחרים באמצעות ציון הערכים המתאימים למפתחות המניפסט "cross_origin_embedder_policy" ו-"cross_origin_opener_policy".
במאמר הזה מוסבר איך Chrome מעדכן תוספים ואיך אפשר לעקוב אחרי הפצת עדכוני תוספים.

עוד נושאים