chrome.action

תיאור

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

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

זמינות

Chrome 88 ומעלה 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.5 או 1.2x, הופכים להיות נפוצים יותר, אנחנו ממליצים לציין כמה גדלים לסמלים. כך גם התוסף מגן על העתיד מפני שינויים אפשריים בגודל התצוגה של הסמל.

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

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 color.

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 לא מופיע, ההגדרה נחשבת כהגדרה גלובלית. הגדרות ספציפיות לכרטיסייה מקבלות עדיפות על פני הגדרות גלובליות.

מצב מופעל

כברירת מחדל, פעולות בסרגל הכלים מופעלות (ניתן ללחוץ עליהן) בכל כרטיסייה. אפשר לשלוט בהגדרה הזו באמצעות השיטות 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 כדי להפעיל את הפעולה באתרים ספציפיים.

// 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

Chrome 99 ומעלה

תכונות

  • windowId

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

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

TabDetails

תכונות

  • tabId

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

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

UserSettings

Chrome 91 ומעלה

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

תכונות

  • isOnToolbar

    boolean

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

שיטות

disable()

הבטחה
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

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

פרמטרים

  • tabId

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

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

enable()

הבטחה
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

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

פרמטרים

  • tabId

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

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

getBadgeBackgroundColor()

הבטחה
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

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

פרמטרים

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

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

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

    (result: ColorArray)=>void

החזרות

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

getBadgeText()

הבטחה
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

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

פרמטרים

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

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

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

    (result: string)=>void

    • תוצאה אחת

      מחרוזת

החזרות

  • הבטחה<string>

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

getBadgeTextColor()

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

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

פרמטרים

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

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

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

    (result: ColorArray)=>void

החזרות

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

getPopup()

הבטחה
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

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

פרמטרים

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

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

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

    (result: string)=>void

    • תוצאה אחת

      מחרוזת

החזרות

  • הבטחה<string>

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

getTitle()

הבטחה
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

הפעולה הזו מקבלת את שם הפעולה.

פרמטרים

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

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

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

    (result: string)=>void

    • תוצאה אחת

      מחרוזת

החזרות

  • הבטחה<string>

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

getUserSettings()

Promise Chrome 91 ואילך
chrome.action.getUserSettings(
  callback?: function,
)

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

פרמטרים

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

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

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

    (userSettings: UserSettings)=>void

החזרות

  • Promise<UserSettings>

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

isEnabled()

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

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

פרמטרים

  • tabId

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

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

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

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

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

    (isEnabled: boolean)=>void

    • isEnabled

      boolean

      True אם פעולת התוסף מופעלת.

החזרות

  • Promise<boolean>

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

openPopup()

Promise Chrome 118 ואילך נדרשת מדיניות
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

פתיחת החלון הקופץ של התוסף.

פרמטרים

  • אפשרויות

    OpenPopupOptions אופציונלי

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

setBadgeBackgroundColor()

הבטחה
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>

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

setBadgeText()

הבטחה
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

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

פרמטרים

  • פרטים

    אובייקט

    • tabId

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

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

    • טקסט

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

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

    יש תמיכה בהבטחות במניפסט מגרסה V3 ואילך, אבל אפשר לבצע קריאה חוזרת (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>

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

setIcon()

הבטחה
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 ->> image path} שמפנה לסמל שיש להגדיר. אם הסמל מצוין כמילון, התמונה שבה יש להשתמש בפועל תיבחר בהתאם לדחיסות הפיקסלים של המסך. אם מספר הפיקסלים של התמונה שיכולים להתאים ליחידת שטח אחת של מסך הוא scale, תיבחר התמונה בגודל scale * n, כאשר n מציין את גודל הסמל בממשק המשתמש. יש לציין לפחות תמונה אחת. חשוב לשים לב שהרכיב 'details.path = foo' זהה ל-'details.path = {'16': foo}'

    • tabId

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

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

    Chrome 96 ומעלה

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

setPopup()

הבטחה
chrome.action.setPopup(
  details: object,
  callback?: function,
)

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

פרמטרים

  • פרטים

    אובייקט

    • פריט קופץ

      מחרוזת

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

    • tabId

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

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

setTitle()

הבטחה
chrome.action.setTitle(
  details: object,
  callback?: function,
)

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

פרמטרים

  • פרטים

    אובייקט

    • tabId

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

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

    • title

      מחרוזת

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

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

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

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

    ()=>void

החזרות

  • Promise<void>

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

אירועים

onClicked

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

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

פרמטרים

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

    פונקציה

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

    (tab: tabs.Tab)=>void