פיתוח
אחרי שתקראו את הקטע תחילת העבודה, תוכלו להשתמש במדריך הזה כסקירה כללית של רכיבי התוסף, היכולות שלהם ואיך אפשר לשלב ביניהם. קודם כדאי להבין מה התוספים יכולים לעשות: לאחר מכן, כדאי לעיין ב מושגי הליבה של התוספים כדי ללמוד איך לשלב בין התכונות האלה.
עיצוב ממשק המשתמש
רוב התוספים זקוקים לאינטראקציה כלשהי עם המשתמש כדי לפעול. פלטפורמת התוספים מספקת מגוון דרכים להוספת אינטראקציות לתוסף. השיטות האלה כוללות חלונות קופצים שהופעלו מסרגל הכלים של Chrome, חלוניות צדדיות, תפריטי הקשר ועוד.
חלונית צדדית
אתם יכולים להשתמש ב-
browser.sidePanel API כדי לארח תוכן בחלונית הצדדית של הדפדפן לצד התוכן הראשי של דף אינטרנט.
פעולה
שליטה בתצוגה של סמל התוסף בסרגל הכלים.
תפריטים
להוסיף פריטים לתפריט ההקשר של Google Chrome.
שליטה בדפדפן
ממשקי ה-API של התוספים של Chrome מאפשרים לשנות את אופן הפעולה של הדפדפן.
שינוי הדפים וההגדרות ב-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.
עדכון הגדרות Chrome
אפשר להשתמש ב-API
browser.privacy כדי לשלוט בשימוש בתכונות ב-Chrome שיכולות להשפיע על הפרטיות של המשתמש. אפשר גם לעיין ב-browser.proxy API כדי לנהל את הגדרות ה-proxy של Chrome.
ניהול הורדות
אתם יכולים להשתמש ב-
browser.downloads API כדי להתחיל הורדות, לעקוב אחריהן, לשנות אותן ולחפש אותן באופן פרוגרמטי.
שימוש בסימניות וברשימת הקריאה
אפשר להשתמש ב-API
browser.bookmarks וב-API browser.readingList כדי ליצור את הרשימות האלה, לארגן אותן ולבצע בהן פעולות אחרות.
שליטה באינטרנט
שינוי דינמי של התוכן וההתנהגות של דפי אינטרנט. ניתן לשלוט באינטרנט ולשנות אותו על ידי החדרת סקריפטים, יירוט בקשות רשת ושימוש בממשקי API לאינטרנט לצורך אינטראקציה עם דפי אינטרנט.
החדרה של JavaScript ו-CSS
סקריפטים של תוכן הם קבצים שפועלים בהקשר של דפי אינטרנט. הם משתמשים במודל אובייקטי מסמך (DOM) רגיל כדי לקרוא פרטים על דפי אינטרנט שבהם הדפדפן מבקר, לערוך בהם שינויים ולהעביר מידע לתוסף ההורה שלהם.
גישה לכרטיסייה הפעילה
ההרשאה
"activeTab" נותנת לתוסף גישה זמנית לכרטיסייה שפעילה כרגע כשהמשתמש מפעיל את התוסף, למשל בלחיצה על הפעולה שלו. הגישה לכרטיסייה נמשכת כשהמשתמש נמצא בדף, מבוטלת כשהמשתמש מנווט מחוץ לכרטיסייה או סוגר אותה.
שליטה בבקשות אינטרנט
אפשר להשתמש בממשקי ה-API
browser.declarativeNetRequest, browser.webRequest ו-browser.webNavigation כדי לצפות בבקשות רשת, לחסום אותן ולשנות אותן.
הקלטת אודיו וצילום מסך
מידע על גישות שונות להקלטת אודיו וסרטון מכרטיסייה, מחלון או ממסך באמצעות ממשקי API של פלטפורמת אינטרנט, כמו
browser.tabCapture או getDisplayMedia().
שינוי הגדרות האתר
משתמשים ב-API של
browser.contentSettings כדי לקבוע אם אתרים יכולים להשתמש בתכונות כמו קובצי Cookie, JavaScript ותוספים. באופן כללי יותר, הגדרות התוכן מאפשרות לכם להתאים אישית את ההתנהגות של Chrome לכל אתר בנפרד, במקום באופן גלובלי.
מושגי ליבה
באמצעות ממשקי API של פלטפורמת אינטרנט ושל תוספים, תוכלו ליצור תכונות מורכבות יותר על ידי שילוב רכיבים שונים של ממשק המשתמש ותכונות של פלטפורמת התוספים.
קובצי שירות (service worker)
קובץ שירות (service worker) של תוסף (service-worker.js) הוא סקריפט מבוסס-אירועים שהדפדפן מריץ ברקע. בדרך כלל הוא משמש לעיבוד נתונים, לתיאום משימות בחלקים שונים של תוסף, כמנהל אירועים של תוסף.
הרשאות
הבנת הרשאות: איך הן פועלות ומתי אפשר להימנע מלבקש אותן כשלא צריך אותן.
סינון תוכן
יש כמה דרכים שונות ליישם סינון תוכן ורשתות בתוספים ל-Chrome. מידע נוסף על יכולות סינון התוכן הזמינות לתוספים ועל גישות, טכניקות וממשקי ה-API השונות המשמשים לסינון תוספים ל-Chrome.
סמס
פעמים רבות, סקריפטים של תוכן או דפי תוספים אחרים צריכים לשלוח או לקבל מידע מ-Service Worker. במקרים כאלה, כל צד יכול להאזין להודעות שנשלחו מהצד השני ולהגיב באותו ערוץ.
העברת הודעות באפליקציות מקוריות
אפשר לתוספים שלך להחליף הודעות עם אפליקציות מקוריות.
הימנעות מקוד באירוח מרוחק
תוספי Manifest V3 צריכים לקבץ את כל הקודים שבהם הם משתמשים בתוך התוסף עצמו. יש אסטרטגיות שונות לעשות זאת.
Storage
לתוספים ל-Chrome יש ממשק API מיוחד לאחסון, שזמין לכל רכיבי התוספים. היא כוללת ארבעה אזורי אחסון נפרדים לתרחישים ספציפיים לדוגמה, ו-event listener שעוקב אחרי כל עדכון של הנתונים.
מסמכים שלא מופיעים במסך
ל-Service Workers אין גישת DOM. ממשק ה-API של Offscreen מאפשר לתוסף להשתמש בממשקי DOM API במסמך מוסתר מבלי להפריע לחוויית המשתמש, על ידי פתיחה של כרטיסיות או חלונות חדשים.
בידוד בין מקורות
בידוד בין מקורות מאפשר לדף אינטרנט להשתמש בתכונות מתקדמות כמו
SharedArrayBuffer. תוסף יכול לאשר חסימה לגישה מדומיינים אחרים באמצעות ציון הערכים המתאימים למפתחות המניפסט "cross_origin_embedder_policy" ו-"cross_origin_opener_policy".
מחזור החיים של עדכון תוסף
במאמר הזה מוסבר איך Chrome מעדכן תוספים ואיך אפשר לעקוב אחרי הפצת עדכוני תוספים.