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

אפשר גם להתקשר אל action.setIcon() כדי להגדיר את סמל התוסף באופן פרוגרמטי באמצעות ציון נתיב תמונה אחר או יצירת סמל שנוצר באופן דינמי באמצעות לוח העריכה של HTML , או, אם מוגדר מ-רכיב Service Worker של תוסף, אל offscreen קנבס 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), התמונות יכולות להיות ברוב הפורמטים שבהם סמל ההבהוב מנוע עיבוד יכול להציג, כולל 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

    בוליאני

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

UserSettingsChange

בהמתנה

מאפיינים

  • isOnToolbar

    ערך בוליאני אופציונלי

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

שיטות

disable()

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

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

פרמטרים

  • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

enable()

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

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

פרמטרים

  • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

    הבטחות נתמכות במניפסט מגרסה 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

    • תוצאה

      מחרוזת

החזרות

  • Promise&lt;string&gt;

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

getBadgeTextColor()

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

    • תוצאה

      מחרוזת

החזרות

  • Promise&lt;string&gt;

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

getTitle()

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

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

פרמטרים

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

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

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

    (result: string) => void

    • תוצאה

      מחרוזת

החזרות

  • Promise&lt;string&gt;

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

getUserSettings()

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

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

פרמטרים

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

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

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

    (userSettings: UserSettings) => void

החזרות

  • Promise&lt;UserSettings&gt;

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

isEnabled()

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

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

פרמטרים

  • tabId

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

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

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

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

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

    (isEnabled: boolean) => void

    • isEnabled

      בוליאני

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

החזרות

  • Promise&lt;boolean&gt;

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

openPopup()

הבטחה Chrome 127 ואילך
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

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

פרמטרים

  • אפשרויות

    OpenPopupOptions אופציונלי

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

setBadgeBackgroundColor()

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

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

פרמטרים

  • פרטים

    אובייקט

    • color [צבע]

      string | ColorArray

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

    • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

setBadgeText()

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

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

פרמטרים

  • פרטים

    אובייקט

    • tabId

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

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

    • טקסט

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

setBadgeTextColor()

הבטחה Chrome 110 ואילך
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

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

פרמטרים

  • פרטים

    אובייקט

    • color [צבע]

      string | ColorArray

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

    • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

    הבטחות נתמכות במניפסט מגרסה 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}'

    • נתיב

      string | אובייקט אופציונלי

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

    • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

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

setPopup()

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

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

פרמטרים

  • פרטים

    אובייקט

    • פריט קופץ

      מחרוזת

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

    • tabId

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

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

setTitle()

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

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

פרמטרים

  • פרטים

    אובייקט

    • tabId

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

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

    • title

      מחרוזת

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

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

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

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

    () => void

החזרות

  • הבטחה<Empty>

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

אירועים

onClicked

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

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

פרמטרים

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

    פונקציה

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

    (tab: tabs.Tab) => void

onUserSettingsChanged

בהמתנה
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

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

פרמטרים