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

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

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

שליטה בדפדפן

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

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

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

מושגי ליבה

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