תיאור
אתם יכולים להשתמש בפעולות בדפדפן כדי להוסיף סמלים לסרגל הכלים הראשי של Google Chrome, שמשמאל לסרגל הכתובות. בנוסף לסמל, לפעולת דפדפן יכולים להיות תיאור קצר, תג וחלון קופץ.
זמינות
באיור הבא, הריבוע המגוון משמאל לסרגל הכתובות הוא הסמל של פעולה בדפדפן. תיפתח הודעה קופצת מתחת לסמל.
אם רוצים ליצור סמל שלא תמיד פעיל, צריך להשתמש בפעולת דף במקום בפעולה בדפדפן.
מניפסט
רושמים את פעולת הדפדפן במניפסט של התוסף באופן הבא:
{
"name": "My extension",
...
"browser_action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Google Mail", // optional, shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
אפשר לספק סמל בגודל כלשהו לשימוש ב-Chrome, ומערכת Chrome תבחר את הסמל הקרוב ביותר ותתאים אותו לגודל המתאים כדי למלא את המרחב של 16dip. עם זאת, אם לא מציינים את הגודל המדויק, יכול להיות שהשינוי בגודל יגרום לכך שהסמל יאבד פרטים או ייראה מטושטש.
מאחר שמכשירים עם גורמי התאמה פחות נפוצים, כמו 1.5x או 1.2x, הולכים ונהיים נפוצים יותר, מומלץ לספק כמה גדלים של סמלים. כך גם אם גודל התצוגה של הסמל ישתנה, לא תצטרכו לבצע עבודה נוספת כדי לספק סמלים שונים.
עדיין יש תמיכה בתחביר הישן לרישום סמל ברירת המחדל:
{
"name": "My extension",
...
"browser_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
חלקים בממשק המשתמש
פעולת דפדפן יכולה לכלול סמל, הסבר קצר, תג וחלון קופץ.
סמל
סמלי הפעולות בדפדפן ב-Chrome הם בגודל 16 dips (פיקסלים שאינם תלויים במכשיר) ברוחב ובגובה. סמלים גדולים יותר מותאמים לגודל המתאים, אבל כדי לקבל את התוצאות הטובות ביותר, מומלץ להשתמש בסמל מרובע בגודל 16dip.
אפשר להגדיר את הסמל בשתי דרכים: באמצעות תמונה סטטית או באמצעות רכיב הקנבס ב-HTML5. שימוש בתמונות סטטיות קל יותר באפליקציות פשוטות, אבל אפשר ליצור ממשקי משתמש דינמיים יותר – כמו אנימציה חלקה – באמצעות רכיב הקנבס.
תמונות סטטיות יכולות להיות בכל פורמט ש-WebKit יכול להציג, כולל BMP, GIF, ICO, JPEG או PNG. בתוספים לא מוצקים, התמונות חייבות להיות בפורמט PNG.
כדי להגדיר את הסמל, משתמשים בשדה default_icon של browser_action ב-manifest, או קוראים לשיטה browserAction.setIcon
.
כדי להציג את הסמל בצורה תקינה כשצפיפות הפיקסלים במסך (היחס size_in_pixel / size_in_dip
) שונה מ-1, אפשר להגדיר את הסמל כקבוצת תמונות בגדלים שונים. התמונה בפועל שמוצגת תיבחר מהקבוצה כך שתתאים בצורה הטובה ביותר לגודל הפיקסלים של 16dip. קבוצת הסמלים יכולה להכיל מפרט של סמל בכל גודל, ו-Chrome יבחר את הסמל המתאים ביותר.
הסבר קצר
כדי להגדיר את ההודעה המסבירה, משתמשים בשדה default_title של browser_action במניפסט, או קוראים לשיטה browserAction.setTitle
. אפשר לציין מחרוזות ספציפיות לאזור גיאוגרפי בשדה default_title. פרטים נוספים זמינים במאמר התאמה לשוק הבינלאומי.
תג
אפשר להציג תג (קטע טקסט שמופיע בשכבה מעל הסמל) לפעולות בדפדפן. תגים מאפשרים לעדכן בקלות את הפעולה בדפדפן כך שתציג כמות קטנה של מידע על מצב התוסף.
מכיוון ששטח התג מוגבל, הוא צריך להכיל 4 תווים או פחות.
מגדירים את הטקסט והצבע של התג באמצעות browserAction.setBadgeText
ו-browserAction.setBadgeBackgroundColor
, בהתאמה.
חלון קופץ
אם לפעולה בדפדפן יש חלון קופץ, החלון הקופץ מופיע כשהמשתמש לוחץ על סמל התוסף. חלון הקופץ יכול להכיל כל תוכן HTML שתרצו, והוא יותאם באופן אוטומטי לגודל התוכן שלו. חלון הקופץ לא יכול להיות קטן מ-25x25 ולא גדול מ-800x600.
כדי להוסיף חלון קופץ לפעולה בדפדפן, יוצרים קובץ HTML עם התוכן של החלון הקופץ. מציינים את קובץ ה-HTML בשדה default_popup של browser_action במניפסט, או קוראים לשיטה browserAction.setPopup
.
טיפים
כדי להשיג את ההשפעה החזותית הטובה ביותר, כדאי לפעול לפי ההנחיות הבאות:
- כן כדאי להשתמש בפעולות בדפדפן לתכונות שגיוני להשתמש בהן ברוב הדפים.
- אל תשתמשו בפעולות בדפדפן לתכונות שתקפות רק לכמה דפים. במקום זאת, צריך להשתמש בפעולות דף.
- כן כדאי להשתמש בסמלים גדולים וצבעוניים שמנצלים את כל שטח התמונה בגודל 16x16dip. סמלי הפעולות בדפדפן צריכים להיראות גדולים יותר ומלאים יותר מסמלי הפעולות בדף.
- אין לנסות לחקות את סמל התפריט המונוכרומטי של Google Chrome. זה לא מתאים לשימוש עם נושאים, ובכל מקרה, תוספים צריכים לבלוט קצת.
- כן כדאי להשתמש בשקיפות אלפא כדי להוסיף קצוות רכים לסמל. הרבה אנשים משתמשים בעיצובים, ולכן חשוב שהסמל שלכם ייראה טוב במגוון צבעים של רקע.
- לא מומלץ להפעיל אנימציה לסמל באופן קבוע. זה פשוט מעצבן.
דוגמאות
דוגמאות פשוטות לשימוש בפעולות בדפדפן זמינות בספרייה examples/api/browserAction. דוגמאות נוספות ועזרה בהצגת קוד המקור זמינות במאמר דוגמאות.
סוגים
TabDetails
מאפיינים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שעבורה רוצים לשלוח שאילתת מצב. אם לא צוינה כרטיסייה, המערכת מחזירה את המצב שאינו ספציפי לכרטיסייה.
Methods
disable()
chrome.browserAction.disable(
tabId?: number,
callback?: function,
)
השבתת הפעולה בדפדפן בכרטיסייה.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שעבורה רוצים לשנות את הפעולה בדפדפן.
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
enable()
chrome.browserAction.enable(
tabId?: number,
callback?: function,
)
הפעלת פעולת הדפדפן בכרטיסייה. ברירת המחדל היא מופעל.
פרמטרים
-
tabId
מספר אופציונלי
המזהה של הכרטיסייה שעבורה רוצים לשנות את הפעולה בדפדפן.
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getBadgeBackgroundColor()
chrome.browserAction.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
)
הפונקציה מקבלת את צבע הרקע של הפעולה בדפדפן.
פרמטרים
-
פרטים
-
callback
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: ColorArray) => void
-
תוצאה
-
החזרות
-
Promise<extensionTypes.ColorArray>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getBadgeText()
chrome.browserAction.getBadgeText(
details: TabDetails,
callback?: function,
)
הפונקציה מקבלת את טקסט התג של פעולת הדפדפן. אם לא צוינה כרטיסייה, המערכת תחזיר את טקסט התג שאינו ספציפי לכרטיסייה.
פרמטרים
-
פרטים
-
callback
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: string) => void
-
תוצאה
מחרוזת
-
החזרות
-
Promise<string>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getPopup()
chrome.browserAction.getPopup(
details: TabDetails,
callback?: function,
)
הפונקציה מקבלת את מסמך ה-HTML שמוגדר כחלון קופץ של פעולת הדפדפן הזו.
פרמטרים
-
פרטים
-
callback
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: string) => void
-
תוצאה
מחרוזת
-
החזרות
-
Promise<string>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
getTitle()
chrome.browserAction.getTitle(
details: TabDetails,
callback?: function,
)
הפונקציה מקבלת את הכותרת של פעולת הדפדפן.
פרמטרים
-
פרטים
-
callback
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(result: string) => void
-
תוצאה
מחרוזת
-
החזרות
-
Promise<string>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setBadgeBackgroundColor()
chrome.browserAction.setBadgeBackgroundColor(
details: object,
callback?: function,
)
הגדרת צבע הרקע של התג.
פרמטרים
-
פרטים
אובייקט
-
color [צבע]
מחרוזת | ColorArray
מערך של ארבעה מספרים שלמים בטווח 0-255 שמרכיבים את צבע ה-RGBA של התג. יכול להיות גם מחרוזת עם ערך צבע הקסדצימלי של CSS. לדוגמה,
#FF0000
או#F00
(אדום). עיבוד צבעים באטימות מלאה. -
tabId
מספר אופציונלי
הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.
-
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setBadgeText()
chrome.browserAction.setBadgeText(
details: object,
callback?: function,
)
הגדרת הטקסט של התג עבור הפעולה בדפדפן. התג מוצג מעל הסמל.
פרמטרים
-
פרטים
אובייקט
-
tabId
מספר אופציונלי
הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.
-
text
מחרוזת אופציונלי
אפשר להעביר כל מספר תווים, אבל רק כ-4 תווים יכולים להיכנס למרחב. אם מועברת מחרוזת ריקה (
''
), הטקסט של התג נמחק. אם צויןtabId
ו-text
הוא null, הטקסט בכרטיסייה שצוינה יימחק והטקסט של התג הגלובלי יוגדר כברירת מחדל.
-
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setIcon()
chrome.browserAction.setIcon(
details: object,
callback?: function,
)
הגדרת הסמל של פעולת הדפדפן. אפשר לציין את הסמל כנתיב לקובץ תמונה, כנתוני פיקסלים מרכיב בד או כמילון של אחד מהם. צריך לציין את המאפיין path
או את המאפיין imageData
.
פרמטרים
-
פרטים
אובייקט
-
imageData
ImageData | אובייקט אופציונלי
אובייקט ImageData או מילון {size -> ImageData} שמייצג סמל שרוצים להגדיר. אם הסמל צוין כמילון, התמונה שבה נעשה שימוש נבחרת בהתאם לצפיפות הפיקסלים במסך. אם מספר הפיקסלים בתמונה שמתאימים ליחידת שטח אחת במסך שווה ל-
scale
, תיבחר תמונה בגודלscale
* n, כאשר n הוא גודל הסמל בממשק המשתמש. צריך לציין תמונה אחת לפחות. הערה: הביטוי 'details.imageData = foo' שווה לביטוי 'details.imageData = {'16': foo}' -
נתיב
מחרוזת | אובייקט אופציונלי
נתיב יחסי של תמונה או מילון {size -> relative image path} שמצביע על סמל שרוצים להגדיר. אם הסמל צוין כמילון, התמונה שבה נעשה שימוש נבחרת בהתאם לצפיפות הפיקסלים במסך. אם מספר הפיקסלים בתמונה שמתאימים ליחידה אחת במרחב המסך שווה ל-
scale
, נבחרת תמונה בגודלscale
* n, כאשר n הוא גודל הסמל בממשק המשתמש. צריך לציין תמונה אחת לפחות. הערה: הערך 'details.path = foo' שווה ל-'details.path = {'16': foo}' -
tabId
מספר אופציונלי
הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.
-
-
callback
פונקציה אופציונלי
הפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 116 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setPopup()
chrome.browserAction.setPopup(
details: object,
callback?: function,
)
מגדיר את מסמך ה-HTML כך שייפתח כחלון קופץ כשהמשתמש לוחץ על סמל הפעולה בדפדפן.
פרמטרים
-
פרטים
אובייקט
-
פריט קופץ
מחרוזת
הנתיב היחסי לקובץ ה-HTML שרוצים להציג בחלון קופץ. אם הערך מוגדר למחרוזת הריקה (
''
), לא יוצג חלון קופץ. -
tabId
מספר אופציונלי
הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.
-
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.
setTitle()
chrome.browserAction.setTitle(
details: object,
callback?: function,
)
הגדרת הכותרת של הפעולה בדפדפן. הכותרת הזו מופיעה בהסבר הקצר.
פרמטרים
-
פרטים
אובייקט
-
tabId
מספר אופציונלי
הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.
-
title
מחרוזת
המחרוזת שפעולת הדפדפן אמורה להציג כשמעבירים מעליה את העכבר.
-
-
callback
פונקציה אופציונלי
Chrome מגרסה 67 ואילךהפרמטר
callback
נראה כך:() => void
החזרות
-
Promise<void>
גרסה 88 ואילך של Chromeיש תמיכה ב-Promises רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.