chrome.action

תיאור

אפשר להשתמש ב-chrome.action API כדי לשלוט בסמל התוסף בסרגל הכלים של Google Chrome.

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

זמינות

גרסה 88 ואילך של Chrome גרסה MV3 ואילך

מניפסט

כדי להשתמש ב-API הזה, צריך להצהיר על המפתחות הבאים במניפסט.

"action"

כדי להשתמש ב-API chrome.action, צריך לציין "manifest_version" של 3 ולכלול את המפתח "action" בקובץ המניפסט.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

המפתח "action" (יחד עם הצאצאים שלו) הוא אופציונלי. אם הוא לא נכלל, התוסף עדיין יופיע בסרגל הכלים כדי לספק גישה לתפריט של התוסף. לכן, מומלץ תמיד לכלול לפחות את המפתחות "action" ו-"default_icon".

מושגים ושימוש

חלקים בממשק המשתמש

סמל

הסמל הוא התמונה הראשית בסרגל הכלים של התוסף, והוא מוגדר באמצעות המפתח "default_icon" במפתח "action" של המניפסט. הסמלים חייבים להיות ברוחב ובגובה של 16 פיקסלים (DIP) ללא תלות במכשיר.

המפתח "default_icon" הוא מילון של גדלים לנתיבי תמונות. Chrome משתמש בסמלים האלה כדי לבחור את קנה המידה של התמונה. אם לא נמצאת התאמה מדויקת, Chrome בוחר את התמונה הקרובה ביותר ומשנה את הגודל שלה כך שתתאים לתמונה. הפעולה הזו עשויה להשפיע על איכות התמונה.

מאחר שמכשירים עם גורמי התאמה פחות נפוצים, כמו 1.5x או 1.2x, הולכים ונעשים נפוצים יותר, מומלץ לספק כמה גדלים של סמלים. כך תוכלו גם להתכונן לשינויים פוטנציאליים בגודל התצוגה של הסמל. עם זאת, אם מציינים רק גודל אחד, אפשר להגדיר את המפתח "default_icon" גם כמחרוזת עם הנתיב לסמל יחיד במקום מילון.

אפשר גם להפעיל את action.setIcon() כדי להגדיר את הסמל של התוסף באופן פרוגרמטי, על ידי ציון נתיב תמונה אחר או מתן סמל שנוצר באופן דינמי באמצעות רכיב הקנבס של HTML, או, אם ההגדרה מתבצעת מ-service worker של תוסף, באמצעות ממשק ה-API של קנבס מחוץ למסך.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

בתוספים ארוזים (שמותקנים מקובץ ‎ .crx), התמונות יכולות להיות ברוב הפורמטים שאפשר להציג במנוע הרינדור של Blink, כולל PNG,‏ JPEG,‏ BMP,‏ ICO ופורמטים אחרים. אין תמיכה ב-SVG. בהרחבות לא מוצקות חייבים להשתמש בתמונות PNG.

הסבר קצר (כותרת)

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

הכלי שמוגדרת לו ברירת המחדל מוגדר באמצעות השדה "default_title" של המפתח "action" בקובץ manifest.json. אפשר גם להגדיר אותו באופן פרוגרמטי באמצעות קריאה ל-action.setTitle().

תג

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

כדי ליצור תג, מגדירים אותו באופן פרוגרמטי באמצעות קריאה ל-action.setBadgeBackgroundColor() ול-action.setBadgeText(). אין הגדרת ברירת מחדל לתגים במניפסט. ערכי הצבע של התג יכולים להיות מערך של ארבעה מספרים שלמים בין 0 ל-255 שמרכיבים את הצבע RGBA של התג, או מחרוזת עם ערך צבע CSS.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

חלון קופץ של פעולה מוצג כשהמשתמש לוחץ על לחצן הפעולה של התוסף בסרגל הכלים. החלון הקופץ יכול להכיל כל תוכן HTML שתרצו, והוא יותאם אוטומטית לגודל התוכן. הגודל של חלון הקופץ צריך להיות בין 25x25 ל-800x600 פיקסלים.

חלון הקופץ מוגדר בהתחלה על ידי המאפיין "default_popup" במפתח "action" בקובץ manifest.json. אם המאפיין הזה קיים, הוא צריך להפנות לנתיב יחסי בתוך ספריית התוספים. אפשר גם לעדכן אותו באופן דינמי כך שיצביע על נתיב יחסי אחר באמצעות השיטה action.setPopup().

תרחישים לדוגמה

מצב לכל כרטיסייה

לפעולות של התוסף יכולים להיות מצבים שונים בכל כרטיסייה. כדי להגדיר ערך לכרטיסייה מסוימת, משתמשים במאפיין tabId בשיטות ההגדרה של ה-API action. לדוגמה, כדי להגדיר את הטקסט של התג בכרטיסייה ספציפית, מבצעים את הפעולות הבאות:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

אם לא מציינים את המאפיין tabId, המערכת מתייחסת להגדרה כאל הגדרה גלובלית. הגדרות ספציפיות לכרטיסייה מקבלות עדיפות על פני הגדרות גלובליות.

מצב מופעל

כברירת מחדל, הפעולות בסרגל הכלים מופעלות (אפשר ללחוץ עליהן) בכל כרטיסייה. אפשר לשנות את ברירת המחדל הזו על ידי הגדרת המאפיין default_state במפתח action של המניפסט. אם הערך של default_state מוגדר כ-"disabled", הפעולה מושבתת כברירת מחדל וצריך להפעיל אותה באופן פרוגרמטי כדי שאפשר יהיה ללחוץ עליה. אם הערך של default_state מוגדר כ-"enabled" (ברירת המחדל), הפעולה מופעלת וניתן ללחוץ עליה כברירת מחדל.

אפשר לשלוט במצב באופן פרוגרמטי באמצעות השיטות action.enable() ו-action.disable(). ההגדרה הזו קובעת רק אם יישלחו לתוסף חלון קופץ (אם יש כזה) או אירוע action.onClicked. היא לא משפיעה על נוכחות הפעולה בסרגל הכלים.

דוגמאות

בדוגמאות הבאות מפורטות כמה דרכים נפוצות שבהן משתמשים בפעולות בתוספים. כדי לנסות את ה-API הזה, מתקינים את הדוגמה ל-Action API מהמאגר chrome-extension-samples.

הצגת חלון קופץ

לרוב, התוסף מציג חלון קופץ כשהמשתמש לוחץ על הפעולה של התוסף. כדי להטמיע את התכונה הזו בתוסף שלכם, צריך להצהיר על חלון הקופץ ב-manifest.json ולציין את התוכן ש-Chrome יציג בחלון הקופץ.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

הזרקת סקריפט תוכן בלחיצה

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

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

הדמיה של פעולות באמצעות declarativeContent

בדוגמה הזו מוצג איך לוגיקה ברקע של תוסף יכולה (א) להשבית פעולה כברירת מחדל וגם (ב) להשתמש ב-declarativeContent כדי להפעיל את הפעולה באתרים ספציפיים.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

סוגים

OpenPopupOptions

גרסה 99 ואילך של Chrome

מאפיינים

  • windowId

    מספר אופציונלי

    המזהה של החלון שבו ייפתח חלון הקופץ של הפעולה. אם לא צוין ערך, ברירת המחדל היא החלון הפעיל הנוכחי.

TabDetails

מאפיינים

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שעבורה רוצים לשלוח שאילתה לגבי המצב. אם לא צוינה כרטיסייה, המערכת מחזירה את המצב שאינו ספציפי לכרטיסייה.

UserSettings

Chrome מגרסה 91 ואילך

האוסף של ההגדרות שהמשתמשים מציינים לגבי הפעולה של התוסף.

מאפיינים

  • isOnToolbar

    בוליאני

    אם סמל הפעולה של התוסף גלוי בסרגל הכלים ברמה העליונה של חלונות הדפדפן (כלומר, אם המשתמש 'הצמיד' את התוסף).

UserSettingsChange

גרסה 130 ואילך של Chrome

מאפיינים

  • isOnToolbar

    boolean אופציונלי

    אם סמל הפעולה של התוסף גלוי בסרגל הכלים ברמה העליונה של חלונות הדפדפן (כלומר, אם המשתמש 'הצמיד' את התוסף).

Methods

disable()

Promise
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

השבתת הפעולה בכרטיסייה.

פרמטרים

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שעבורה רוצים לשנות את הפעולה.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

enable()

Promise
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

הפעלת הפעולה בכרטיסייה. כברירת מחדל, הפעולות מופעלות.

פרמטרים

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שעבורה רוצים לשנות את הפעולה.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getBadgeBackgroundColor()

Promise
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

הפונקציה מקבלת את צבע הרקע של הפעולה.

פרמטרים

  • פרטים
  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (result: ColorArray) => void

החזרות

  • יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getBadgeText()

Promise
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

הפונקציה מקבלת את טקסט התג של הפעולה. אם לא צוינה כרטיסייה, המערכת תחזיר את טקסט התג שאינו ספציפי לכרטיסייה. אם ההגדרה displayActionCountAsBadgeText מופעלת, המערכת תחזיר טקסט placeholder, אלא אם ההרשאה declarativeNetRequestFeedback קיימת או שסופק טקסט תג ספציפי לכרטיסייה.

פרמטרים

  • פרטים
  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (result: string) => void

    • תוצאה

      מחרוזת

החזרות

  • Promise<string>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getBadgeTextColor()

Promise Chrome מגרסה 110 ואילך
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

הפונקציה מקבלת את צבע הטקסט של הפעולה.

פרמטרים

  • פרטים
  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (result: ColorArray) => void

החזרות

  • יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getPopup()

Promise
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

הפונקציה מקבלת את מסמך ה-HTML שמוגדר כחלון הקופץ של הפעולה הזו.

פרמטרים

  • פרטים
  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (result: string) => void

    • תוצאה

      מחרוזת

החזרות

  • Promise<string>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getTitle()

Promise
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

הפונקציה מקבלת את שם הפעולה.

פרמטרים

  • פרטים
  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (result: string) => void

    • תוצאה

      מחרוזת

החזרות

  • Promise<string>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

getUserSettings()

Promise ב-Chrome מגרסה 91 ואילך
chrome.action.getUserSettings(
  callback?: function,
)

הפונקציה מחזירה את ההגדרות שהמשתמש ציין לגבי הפעולה של התוסף.

פרמטרים

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (userSettings: UserSettings) => void

החזרות

  • Promise<UserSettings>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

isEnabled()

Promise Chrome מגרסה 110 ואילך
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

מציין אם הפעולה של התוסף מופעלת בכרטיסייה (או באופן גלובלי, אם לא צוין tabId). פעולות שמופעלות באמצעות declarativeContent בלבד תמיד מחזירות את הערך false.

פרמטרים

  • tabId

    מספר אופציונלי

    המזהה של הכרטיסייה שרוצים לבדוק את סטטוס ההפעלה שלה.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    (isEnabled: boolean) => void

    • isEnabled

      בוליאני

      הערך יהיה True אם הפעולה של התוסף מופעלת.

החזרות

  • Promise<boolean>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

openPopup()

Promise Chrome מגרסה 127 ואילך
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

פתיחת החלון הקופץ של התוסף. בגרסאות Chrome 118 עד Chrome 126, האפשרות הזו זמינה רק לתוספים שהותקנו באמצעות מדיניות.

פרמטרים

  • אפשרויות

    OpenPopupOptions אופציונלי

    מציינים אפשרויות לפתיחת החלון הקופץ.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setBadgeBackgroundColor()

Promise
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

הגדרת צבע הרקע של התג.

פרמטרים

  • פרטים

    אובייקט

    • color [צבע]

      מחרוזת | ColorArray

      מערך של ארבעה מספרים שלמים בטווח [0,255] שמרכיבים את צבע ה-RGBA של התג. לדוגמה, אדום אטום הוא [255, 0, 0, 255]. יכול להיות גם מחרוזת עם ערך CSS, כאשר אדום אטום הוא #FF0000 או #F00.

    • tabId

      מספר אופציונלי

      הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setBadgeText()

Promise
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

הגדרת טקסט התג של הפעולה. התג מוצג מעל הסמל.

פרמטרים

  • פרטים

    אובייקט

    • tabId

      מספר אופציונלי

      הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.

    • text

      מחרוזת אופציונלי

      אפשר להעביר כל מספר תווים, אבל רק כ-4 תווים יכולים להיכנס למרחב. אם מועברת מחרוזת ריקה (''), הטקסט של התג נמחק. אם צוין tabId ו-text הוא null, הטקסט בכרטיסייה שצוינה יימחק והטקסט של התג הגלובלי יוגדר כברירת מחדל.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setBadgeTextColor()

Promise Chrome מגרסה 110 ואילך
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

הגדרת צבע הטקסט של התג.

פרמטרים

  • פרטים

    אובייקט

    • color [צבע]

      מחרוזת | ColorArray

      מערך של ארבעה מספרים שלמים בטווח [0,255] שמרכיבים את צבע ה-RGBA של התג. לדוגמה, אדום אטום הוא [255, 0, 0, 255]. יכול להיות גם מחרוזת עם ערך CSS, כאשר אדום אטום הוא #FF0000 או #F00. אם לא תגדירו את הערך הזה, המערכת תבחר באופן אוטומטי צבע שיהיה בניגוד לצבע הרקע של התג כדי שהטקסט יהיה גלוי. צבעים עם ערכי אלפא שווים ל-0 לא יוגדרו ויוחזר שגיאה.

    • tabId

      מספר אופציונלי

      הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setIcon()

Promise
chrome.action.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>

    גרסה 96 ואילך של Chrome

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setPopup()

Promise
chrome.action.setPopup(
  details: object,
  callback?: function,
)

מגדיר את מסמך ה-HTML כך שייפתח כחלון קופץ כשהמשתמש לוחץ על סמל הפעולה.

פרמטרים

  • פרטים

    אובייקט

    • פריט קופץ

      מחרוזת

      הנתיב היחסי לקובץ ה-HTML שרוצים להציג בחלון קופץ. אם הערך מוגדר למחרוזת הריקה (''), לא יוצג חלון קופץ.

    • tabId

      מספר אופציונלי

      הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

setTitle()

Promise
chrome.action.setTitle(
  details: object,
  callback?: function,
)

הגדרת השם של הפעולה. הוא יופיע בהסבר הקצר.

פרמטרים

  • פרטים

    אובייקט

    • tabId

      מספר אופציונלי

      הגבלת השינוי למקרה שבו נבחרת כרטיסייה מסוימת. מתאפסת באופן אוטומטי כשהכרטיסייה נסגרת.

    • title

      מחרוזת

      המחרוזת שצריכה להופיע כשמעבירים את העכבר מעל הפעולה.

  • קריאה חוזרת (callback)

    פונקציה אופציונלי

    הפרמטר callback נראה כך:

    () => void

החזרות

  • Promise<void>

    יש תמיכה ב-Promises ב-Manifest V3 ואילך, אבל פונקציות קריאה חוזרת (callbacks) ניתנות לצורך תאימות לאחור. אי אפשר להשתמש בשניהם באותה קריאה לפונקציה. הפתרון של ההבטחה יהיה באותו סוג שהוענק ל-callback.

אירועים

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

האירוע מופעל כשלוחצים על סמל פעולה. האירוע הזה לא יופעל אם לפעולה יש חלון קופץ.

פרמטרים

  • קריאה חוזרת (callback)

    פונקציה

    הפרמטר callback נראה כך:

    (tab: tabs.Tab) => void

onUserSettingsChanged

גרסה 130 ואילך של Chrome
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

האירוע הזה מופעל כשהגדרות שהמשתמש ציין לגבי הפעולה של תוסף משתנות.

פרמטרים