פיתוח
אחרי שתקראו את הקטע תחילת העבודה, מדריך זה יעזור לכם להבין את רכיבי התוסף, את היכולות שלהם במניפסט מגרסה V3 ואת הדרכים לשלב ביניהם. קודם כול, תכירו אילו תוספים אפשר להשתמש בהם: לאחר מכן תוכלו ללמוד איך לשלב את התכונות האלה בקטע המושגים הבסיסיים של התוספים.
עיצוב ממשק המשתמש
רוב התוספים זקוקים לאינטראקציה כלשהי עם המשתמש כדי לפעול. פלטפורמת התוספים מספקת מגוון דרכים להוספת אינטראקציות לתוסף. השיטות האלה כוללות חלונות קופצים שהופעלו מסרגל הכלים של Chrome, חלוניות צדדיות, תפריטי הקשר ועוד.
חלונית צדדית
אפשר להשתמש ב-
chrome.sidePanel
API כדי לארח תוכן בחלונית הצדדית של הדפדפן לצד התוכן הראשי בדף אינטרנט.
פעולה
שליטה בתצוגה של סמל התוסף בסרגל הכלים.
תפריטים
להוסיף פריטים לתפריט ההקשר של Google Chrome.
שליטה בדפדפן
ממשקי ה-API של התוספים של Chrome מאפשרים לשנות את אופן הפעולה של הדפדפן.
שינוי הדפים וההגדרות ב-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
באמצעות
chrome.privacy
API תוכלו לשלוט בשימוש בתכונות ב-Chrome שיכולות להשפיע על פרטיות המשתמש. יש לעיין גם ב-chrome.proxy
API כדי לנהל את הגדרות שרת ה-proxy של Chrome.
ניהול הורדות
להשתמש ב-API
chrome.downloads
כדי ליזום הורדות באופן פרוגרמטי, לעקוב אחריהן, לבצע בהן פעולות ולחפש אותן.
שימוש בסימניות וברשימת הקריאה
משתמשים ב-API של
chrome.bookmarks
וב-API של chrome.readingList
כדי ליצור את הרשימות האלה, לארגן אותן ולבצע בהן שינויים אחרים.
שליטה באינטרנט
שינוי דינמי של התוכן וההתנהגות של דפי אינטרנט. ניתן לשלוט באינטרנט ולשנות אותו על ידי החדרת סקריפטים, יירוט בקשות רשת ושימוש בממשקי API לאינטרנט לצורך אינטראקציה עם דפי אינטרנט.
החדרה של JavaScript ו-CSS
סקריפטים של תוכן הם קבצים שפועלים בהקשר של דפי אינטרנט. הם משתמשים במודל אובייקטי מסמך (DOM) רגיל כדי לקרוא פרטים על דפי אינטרנט שבהם הדפדפן מבקר, לערוך בהם שינויים ולהעביר מידע לתוסף ההורה שלהם.
גישה לכרטיסייה הפעילה
ההרשאה
"activeTab"
נותנת לתוסף גישה זמנית לכרטיסייה שפעילה כרגע כשהמשתמש מפעיל את התוסף, למשל בלחיצה על הפעולה שלו. הגישה לכרטיסייה נמשכת כשהמשתמש נמצא בדף, מבוטלת כשהמשתמש מנווט מחוץ לכרטיסייה או סוגר אותה.
שליטה בבקשות אינטרנט
שימוש בממשקי ה-API של
chrome.declarativeNetRequest
, chrome.webRequest
ו-chrome.webNavigation
כדי לצפות בבקשות ברשת, לחסום אותן ולשנות אותן.
הקלטת אודיו וצילום מסך
כדאי להכיר גישות שונות להקלטת אודיו ווידאו מכרטיסייה, מחלון או ממסך באמצעות ממשקי API של פלטפורמת האינטרנט כמו
chrome.tabCapture
או getDisplayMedia()
.
שינוי הגדרות האתר
להשתמש ב-
chrome.contentSettings
API כדי לקבוע אם אתרים יכולים להשתמש בתכונות כמו קובצי cookie, JavaScript ויישומי פלאגין. באופן כללי יותר, הגדרות התוכן מאפשרות לכם להתאים אישית את ההתנהגות של Chrome לפי אתר, במקום באופן גלובלי.
מושגי ליבה
באמצעות ממשקי API של פלטפורמת אינטרנט ושל תוספים, תוכלו ליצור תכונות מורכבות יותר על ידי שילוב רכיבים שונים של ממשק המשתמש ותכונות של פלטפורמת התוספים.
קובצי שירות (service worker)
קובץ שירות (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"
.