chrome.action

توضیحات

از chrome.action API برای کنترل نماد برنامه افزودنی در نوار ابزار Google Chrome استفاده کنید.

نمادهای اقدام در نوار ابزار مرورگر در کنار omnibox نمایش داده می شوند. پس از نصب، در منوی افزونه ها (نماد قطعه پازل) ظاهر می شوند. کاربران می توانند نماد برنامه افزودنی شما را به نوار ابزار پین کنند.

در دسترس بودن

Chrome 88+ MV3+

آشکار

برای استفاده از این API باید کلیدهای زیر در مانیفست اعلان شوند.

"action"

برای استفاده از chrome.action API، "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 نزدیک‌ترین مورد موجود را انتخاب می‌کند و آن را متناسب با تصویر مقیاس می‌دهد، که ممکن است بر کیفیت تصویر تأثیر بگذارد.

از آنجایی که دستگاه‌هایی با فاکتورهای مقیاس کمتر رایج مانند 1.5x یا 1.2x رایج‌تر می‌شوند، توصیه می‌کنیم اندازه‌های متعددی را برای نمادهای خود ارائه دهید. این همچنین برنامه افزودنی شما را در برابر تغییرات بالقوه اندازه نمایش نمادها محافظت می کند. با این حال، اگر فقط یک اندازه را ارائه کند، کلید "default_icon" همچنین می تواند به جای دیکشنری روی یک رشته با مسیر یک نماد واحد تنظیم شود.

همچنین می‌توانید action.setIcon() را فراخوانی کنید تا نماد برنامه افزودنی خود را با مشخص کردن یک مسیر تصویر متفاوت یا ارائه یک نماد ایجاد شده به صورت پویا با استفاده از عنصر بوم HTML ، یا، در صورت تنظیم از یک کارگر خدمات افزودنی، 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 در روش‌های action API استفاده کنید. به عنوان مثال، برای تنظیم متن نشان برای یک برگه خاص، کاری مانند زیر انجام دهید:

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!');

شبیه سازی اقدامات با محتوای اعلامی

این مثال نشان می‌دهد که چگونه منطق پس‌زمینه یک برنامه افزودنی می‌تواند (الف) یک عملکرد را به طور پیش‌فرض غیرفعال کند و (ب) از محتوای اعلامی برای فعال کردن عملکرد در سایت‌های خاص استفاده کند.

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

خواص

  • شناسه پنجره

    شماره اختیاری

    شناسه پنجره برای باز کردن پنجره عملیات.

TabDetails

خواص

  • tabId

    شماره اختیاری

    شناسه برگه مورد نظر برای درخواست. اگر هیچ برگه ای مشخص نشده باشد، حالت غیر اختصاصی تب برگردانده می شود.

UserSettings

Chrome 91+

مجموعه تنظیمات مشخص شده توسط کاربر مربوط به عملکرد یک برنامه افزودنی.

خواص

  • isOnToolbar

    بولی

    آیا نماد عمل برنامه افزودنی در نوار ابزار سطح بالای ویندوز مرورگر قابل مشاهده است یا نه (یعنی اینکه آیا برنامه افزودنی توسط کاربر "پین" شده است یا خیر).

UserSettingsChange

در انتظار

خواص

  • isOnToolbar

    بولی اختیاری

    آیا نماد عمل برنامه افزودنی در نوار ابزار سطح بالای ویندوز مرورگر قابل مشاهده است یا نه (یعنی اینکه آیا برنامه افزودنی توسط کاربر "پین" شده است یا خیر).

روش ها

disable()

قول بده
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

عملکرد یک برگه را غیرفعال می کند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه ای که می خواهید عمل را برای آن تغییر دهید.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

enable()

قول بده
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

عملکرد یک برگه را فعال می کند. به طور پیش فرض، اقدامات فعال هستند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه ای که می خواهید عمل را برای آن تغییر دهید.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getBadgeBackgroundColor()

قول بده
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

رنگ پس زمینه اکشن را دریافت می کند.

پارامترها

  • جزئیات
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: ColorArray) => void

برمی گرداند

  • Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getBadgeText()

قول بده
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

متن نشان عمل را دریافت می کند. اگر هیچ برگه ای مشخص نشده باشد، متن نشان غیر اختصاصی برگه برگردانده می شود. اگر displayActionCountAsBadgeText فعال باشد، یک متن نگهدارنده برگردانده می‌شود، مگر اینکه مجوز اظهاری NetRequestFeedback وجود داشته باشد یا متن نشان مخصوص برگه ارائه شده باشد.

پارامترها

  • جزئیات
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: string) => void

    • نتیجه

      رشته

برمی گرداند

  • قول<رشته>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getBadgeTextColor()

Promise Chrome 110+
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

رنگ متن عمل را دریافت می کند.

پارامترها

  • جزئیات
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: ColorArray) => void

برمی گرداند

  • Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getPopup()

قول بده
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

سند html را به عنوان پنجره بازشو برای این عمل می‌گیرد.

پارامترها

  • جزئیات
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: string) => void

    • نتیجه

      رشته

برمی گرداند

  • قول<رشته>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getTitle()

قول بده
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

عنوان اکشن را می گیرد.

پارامترها

  • جزئیات
  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: string) => void

    • نتیجه

      رشته

برمی گرداند

  • قول<رشته>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getUserSettings()

Promise Chrome 91+
chrome.action.getUserSettings(
  callback?: function,
)

تنظیمات مشخص شده توسط کاربر مربوط به عملکرد یک برنامه افزودنی را برمی گرداند.

پارامترها

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (userSettings: UserSettings) => void

برمی گرداند

  • Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

isEnabled()

Promise Chrome 110+
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

نشان می دهد که آیا عملکرد برنامه افزودنی برای یک برگه فعال است (یا در صورت عدم ارائه tabId به صورت سراسری). اقداماتی که فقط با استفاده از declarativeContent فعال می شوند همیشه false هستند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه ای که می خواهید وضعیت فعال بودن آن را بررسی کنید.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (isEnabled: boolean) => void

    • فعال است

      بولی

      اگر عملکرد افزونه فعال باشد درست است.

برمی گرداند

  • وعده<boolean>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

openPopup()

Promise Chrome 127+
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

پاپ آپ افزونه را باز می کند. بین Chrome 118 و Chrome 126، این فقط برای برنامه‌های افزودنی نصب شده در خط مشی در دسترس است.

پارامترها

  • گزینه ها

    OpenPopupOptions اختیاری است

    گزینه هایی را برای باز کردن پنجره بازشو مشخص می کند.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setBadgeBackgroundColor()

قول بده
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

رنگ پس زمینه را برای نشان تنظیم می کند.

پارامترها

  • جزئیات

    شی

    • رنگ

      رشته | ColorArray

      آرایه ای از چهار عدد صحیح در محدوده [0,255] که رنگ RGBA نشان را تشکیل می دهد. برای مثال، قرمز مات [255, 0, 0, 255] است. همچنین می‌تواند رشته‌ای با مقدار CSS باشد که قرمز مات #FF0000 یا #F00 است.

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setBadgeText()

قول بده
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

متن نشان را برای عمل تنظیم می کند. نشان در بالای نماد نمایش داده می شود.

پارامترها

  • جزئیات

    شی

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

    • متن

      رشته اختیاری

      هر تعداد کاراکتر را می توان رد کرد، اما تنها حدود چهار کاراکتر می توانند در این فضا قرار گیرند. اگر یک رشته خالی ( '' ) ارسال شود، متن نشان پاک می شود. اگر tabId مشخص شده باشد و text خالی باشد، متن برگه مشخص شده پاک می شود و به صورت پیش فرض روی متن نشان جهانی قرار می گیرد.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setBadgeTextColor()

Promise Chrome 110+
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

رنگ متن را برای نشان تنظیم می کند.

پارامترها

  • جزئیات

    شی

    • رنگ

      رشته | ColorArray

      آرایه ای از چهار عدد صحیح در محدوده [0,255] که رنگ RGBA نشان را تشکیل می دهد. برای مثال، قرمز مات [255, 0, 0, 255] است. همچنین می‌تواند رشته‌ای با مقدار CSS باشد که قرمز مات #FF0000 یا #F00 است. تنظیم نکردن این مقدار باعث می‌شود که رنگی به‌طور خودکار انتخاب شود که با رنگ پس‌زمینه نشان تضاد داشته باشد و متن قابل مشاهده باشد. رنگ هایی با مقادیر آلفای معادل 0 تنظیم نمی شوند و یک خطا برمی گردانند.

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setIcon()

قول بده
chrome.action.setIcon(
  details: object,
  callback?: function,
)

نماد عمل را تنظیم می کند. نماد را می توان به عنوان مسیر یک فایل تصویری یا به عنوان داده پیکسل از یک عنصر بوم یا به عنوان فرهنگ لغت یکی از آنها مشخص کرد. باید مسیر یا ویژگی imageData مشخص شود.

پارامترها

  • جزئیات

    شی

    • داده های تصویری

      ImageData | شی اختیاری

      یک شی ImageData یا یک فرهنگ لغت {size -> ImageData} که نمادی را نشان می دهد که باید تنظیم شود. اگر نماد به عنوان فرهنگ لغت مشخص شده باشد، تصویر واقعی مورد استفاده بسته به تراکم پیکسل صفحه نمایش انتخاب می شود. اگر تعداد پیکسل‌های تصویری که در یک واحد فضای صفحه نمایش قرار می‌گیرند برابر با scale باشد، تصویر با scale اندازه * n انتخاب می‌شود که n اندازه نماد در رابط کاربری است. حداقل یک تصویر باید مشخص شود. توجه داشته باشید که 'details.imageData = foo' معادل 'details.imageData = {'16': foo}' است

    • مسیر

      رشته | شی اختیاری

      یک مسیر تصویر نسبی یا یک فرهنگ لغت {size -> مسیر تصویر نسبی} که به نمادی که باید تنظیم شود اشاره می‌کند. اگر نماد به عنوان فرهنگ لغت مشخص شده باشد، تصویر واقعی مورد استفاده بسته به تراکم پیکسل صفحه نمایش انتخاب می شود. اگر تعداد پیکسل‌های تصویری که در یک واحد فضای صفحه نمایش قرار می‌گیرند برابر با scale باشد، تصویر با scale اندازه * n انتخاب می‌شود که n اندازه نماد در رابط کاربری است. حداقل یک تصویر باید مشخص شود. توجه داشته باشید که 'details.path = foo' معادل 'details.path = {'16': foo}' است

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 96+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setPopup()

قول بده
chrome.action.setPopup(
  details: object,
  callback?: function,
)

سند HTML را تنظیم می کند تا زمانی که کاربر روی نماد عمل کلیک می کند، به عنوان یک پنجره بازشو باز شود.

پارامترها

  • جزئیات

    شی

    • پنجره بازشو

      رشته

      مسیر نسبی فایل HTML برای نمایش در یک پنجره بازشو. اگر روی رشته خالی ( '' ) تنظیم شود، هیچ پنجره ای نمایش داده نمی شود.

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setTitle()

قول بده
chrome.action.setTitle(
  details: object,
  callback?: function,
)

عنوان عمل را تنظیم می کند. این در راهنمای ابزار نشان داده می شود.

پارامترها

  • جزئیات

    شی

    • tabId

      شماره اختیاری

      تغییر را به زمانی که یک برگه خاص انتخاب شده است محدود می کند. هنگامی که برگه بسته می شود، به طور خودکار بازنشانی می شود.

    • عنوان

      رشته

      رشته ای که عمل باید در هنگام زدن ماوس نمایش داده شود.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

رویدادها

onClicked

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

با کلیک روی یک نماد عمل فعال می شود. اگر کنش دارای یک پنجره بازشو باشد، این رویداد فعال نمی‌شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (tab: tabs.Tab) => void

onUserSettingsChanged

در انتظار
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

زمانی فعال می شود که تنظیمات مشخص شده توسط کاربر مربوط به عملکرد یک برنامه افزودنی تغییر کند.

پارامترها