browser.action

বিবরণ

Google Chrome টুলবারে এক্সটেনশনের আইকন কন্ট্রোল করতে chrome.action API ব্যবহার করুন।

অমনিবক্স-এর ঠিক পাশে ব্রাউজার টুলবারে অ্যাকশন আইকন দেখানো হয়। ইনস্টল করার পরে, এগুলি এক্সটেনশন মেনুতে (পাজল পিস আইকন) দেখা যায়। ব্যবহারকারীরা টুলবারে আপনার এক্সটেনশন আইকন পিন করতে পারবেন।

উপলভ্যতা

Chrome 88+ ব্রাউজার।* Chrome 148 থেকে MV3+

ম্যানিফেস্ট

এই API ব্যবহার করতে নিম্নলিখিত কীগুলি ম্যানিফেস্টে ঘোষণা করতে হবে।

"action"

browser.action API ব্যবহার করতে, 3-এর "manifest_version" উল্লেখ করুন এবং আপনার ম্যানিফেস্ট ফাইলে "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" কী অন্তর্ভুক্ত করুন।

ধারণা ও ব্যবহার

UI-এর অংশ

আইকন

আইকন হল আপনার এক্সটেনশনের টুলবারের প্রধান ছবি এবং এটি আপনার ম্যানিফেস্টের "action" কী-তে "default_icon" কী দ্বারা সেট করা হয়। আইকন অবশ্যই ১৬ ডিভাইস-ইন্ডিপেন্ডেন্ট পিক্সেল (DIPs) চওড়া ও লম্বা হতে হবে।

"default_icon" কী হল ছবির পাথের সাইজের ডিকশনারি। কোন ইমেজ স্কেল ব্যবহার করা হবে তা বেছে নিতে Chrome এইসব আইকন ব্যবহার করে। সম্পূর্ণ ম্যাচ না পাওয়া গেলে, Chrome সবচেয়ে কাছাকাছি উপলভ্য ছবি বেছে নেয় এবং ছবির সাথে মানানসই করার জন্য স্কেল করে, যা ছবির কোয়ালিটিকে প্রভাবিত করতে পারে।

যেহেতু ১.৫x বা ১.২x-এর মতো কম-সাধারণ স্কেল ফ্যাক্টর সহ ডিভাইসগুলি আরও সাধারণ হয়ে উঠছে, তাই আমরা আপনাকে আপনার আইকনের জন্য একাধিক সাইজ প্রদান করতে উৎসাহিত করি। এছাড়াও, এটি আইকন ডিসপ্লে সাইজের সম্ভাব্য পরিবর্তনের বিরুদ্ধে আপনার এক্সটেনশনকে সুরক্ষিত রাখে। তবে, শুধুমাত্র একটি সাইজ প্রদান করলে, "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);
browser.action.setIcon({imageData: imageData}, () => { /* ... */ });

প্যাক করা এক্সটেনশনের (একটি .crx ফাইল থেকে ইনস্টল করা) জন্য, ছবিগুলি বেশিরভাগ ফর্ম্যাটে হতে পারে যা Blink রেন্ডারিং ইঞ্জিন প্রদর্শন করতে পারে, যার মধ্যে PNG, JPEG, BMP, ICO এবং অন্যান্য রয়েছে। SVG কাজ করে না। আনপ্যাক করা এক্সটেনশনে অবশ্যই PNG ছবি ব্যবহার করতে হবে।

Tooltip (title)

টুলবার-এ এক্সটেনশনের আইকনের উপর ব্যবহারকারী মাউস পয়েন্টার নিয়ে গেলে টুলটিপ বা শীর্ষক দেখা যায়। বোতামটি ফোকাস পেলে স্ক্রিন রিডার দ্বারা উচ্চারিত অ্যাক্সেসযোগ্য টেক্সটেও এটি অন্তর্ভুক্ত থাকে।

manifest.json-এ "action" কী-এর "default_title" ফিল্ড ব্যবহার করে ডিফল্ট টুলটিপ সেট করা হয়। এছাড়াও, আপনি action.setTitle() কল করে প্রোগ্রাম্যাটিক্যালি এটি সেট করতে পারবেন।

ব্যাজ

অ্যাকশন ঐচ্ছিকভাবে একটি "ব্যাজ" দেখাতে পারে — আইকনের উপর টেক্সটের একটি লেয়ার। এটি আপনাকে এক্সটেনশনের অবস্থা সম্পর্কে অল্প পরিমাণ তথ্য দেখানোর জন্য অ্যাকশন আপডেট করতে দেয়, যেমন একটি কাউন্টার। ব্যাজে একটি টেক্সট কম্পোনেন্ট ও ব্যাকগ্রাউন্ড কালার থাকে। জায়গা সীমিত হওয়ার কারণে, আমরা সাজেস্ট করি যে ব্যাজ টেক্সটে চার বা তার কম অক্ষর ব্যবহার করুন।

ব্যাজ তৈরি করতে, action.setBadgeBackgroundColor() এবং action.setBadgeText() কল করে প্রোগ্রাম্যাটিকভাবে এটি সেট করুন। ম্যানিফেস্টে কোনও ডিফল্ট ব্যাজ সেটিং নেই। ব্যাজের রঙের ভ্যালু ০ থেকে ২৫৫-এর মধ্যে চারটি পূর্ণসংখ্যার অ্যারে হতে পারে যা ব্যাজের RGBA রঙ তৈরি করে অথবা CSS রঙের ভ্যালু সহ একটি স্ট্রিং হতে পারে।

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

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

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

ব্যবহারকারী টুলবারে এক্সটেনশনের অ্যাকশন বোতামে ক্লিক করলে অ্যাকশনের পপ-আপ দেখানো হয়। পপ-আপে আপনার পছন্দমতো যেকোনও HTML কন্টেন্ট থাকতে পারে এবং কন্টেন্ট অনুযায়ী এর সাইজ অটোমেটিক নির্ধারিত হবে। পপ-আপের সাইজ ২৫x২৫ এবং ৮০০x৬০০ পিক্সেলের মধ্যে হতে হবে।

পপ-আপটি প্রাথমিকভাবে manifest.json ফাইলের "action" কীতে "default_popup" প্রপার্টি দ্বারা সেট করা হয়। উপস্থিত থাকলে, এই প্রপার্টি এক্সটেনশন ডিরেক্টরির মধ্যে একটি রিলেটিভ পাথ নির্দেশ করা উচিত। action.setPopup() পদ্ধতি ব্যবহার করে অন্য রিলেটিভ পাথ দেখানোর জন্য এটি ডায়নামিকভাবে আপডেট করা যেতে পারে।

যেসব ক্ষেত্রে ব্যবহার করা যাবে

ট্যাব-প্রতি স্ট্যাটাস

প্রতিটি ট্যাবের জন্য এক্সটেনশন অ্যাকশনের বিভিন্ন স্ট্যাটাস থাকতে পারে। কোনও স্বতন্ত্র ট্যাবের জন্য ভ্যালু সেট করতে, action API-এর সেটিং পদ্ধতিতে tabId প্রপার্টি ব্যবহার করুন। যেমন, কোনও নির্দিষ্ট ট্যাবের জন্য ব্যাজ টেক্সট সেট করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

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

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

tabId প্রপার্টি বাদ দেওয়া হলে, সেটিংটি গ্লোবাল সেটিং হিসেবে বিবেচিত হয়। ট্যাব-নির্দিষ্ট সেটিংস গ্লোবাল সেটিংসের চেয়ে বেশি অগ্রাধিকার পায়।

চালু করা স্ট্যাটাস

ডিফল্ট হিসেবে, প্রতিটি ট্যাবে টুলবার অ্যাকশন চালু (ক্লিক করা যায়) থাকে। আপনি ম্যানিফেস্টের action কীতে default_state প্রপার্টি সেট করে এই ডিফল্ট পরিবর্তন করতে পারবেন। default_state "disabled"-এ সেট করা থাকলে, ডিফল্ট হিসেবে অ্যাকশন বন্ধ করা থাকে এবং ক্লিক করার জন্য প্রোগ্রাম্যাটিকভাবে চালু করতে হবে। default_state-এর মান "enabled" (ডিফল্ট) হিসেবে সেট করা থাকলে, অ্যাকশনটি ডিফল্ট হিসেবে চালু ও ক্লিক করার উপযুক্ত থাকে।

আপনি action.enable() এবং action.disable() পদ্ধতি ব্যবহার করে প্রোগ্রাম্যাটিকভাবে স্টেট কন্ট্রোল করতে পারবেন। এটি শুধুমাত্র পপ-আপ (যদি থাকে) বা action.onClicked ইভেন্ট আপনার এক্সটেনশনে পাঠানো হবে কিনা তা প্রভাবিত করে; এটি টুলবারে অ্যাকশনের উপস্থিতিকে প্রভাবিত করে না।

উদাহরণ

এক্সটেনশনে অ্যাকশন ব্যবহার করার কিছু সাধারণ উপায় নিচে দেওয়া হল। এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে Action API উদাহরণ ইনস্টল করুন।

একটি পপ-আপ দেখান

ব্যবহারকারী এক্সটেনশনের অ্যাকশনে ক্লিক করলে এক্সটেনশন একটি পপ-আপ দেখাবে, এটি সাধারণ ব্যাপার। আপনার নিজস্ব এক্সটেনশনে এটি প্রয়োগ করতে, আপনার 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
browser.action.onClicked.addListener((tab) => {
  browser.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
browser.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  browser.action.disable();

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

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

ধরন

OpenPopupOptions

Chrome 99+ Chrome 148 থেকে browser.*

প্রপার্টি

  • windowId

    নম্বর ঐচ্ছিক

    অ্যাকশন পপ-আপ খোলার জন্য উইন্ডোর আইডি। নির্দিষ্ট করা না থাকলে, বর্তমানে অ্যাক্টিভ উইন্ডো ডিফল্ট হিসেবে সেট করা হয়।

TabDetails

প্রপার্টি

  • tabId

    নম্বর ঐচ্ছিক

    যে ট্যাবের জন্য কোয়েরি স্টেট করা হয়েছে সেটির আইডি। কোনও ট্যাব নির্দিষ্ট করা না থাকলে, ট্যাব-নির্দিষ্ট নয় এমন স্ট্যাটাস দেখানো হয়।

UserSettings

Chrome 91+ Chrome 148 থেকে browser.*

এক্সটেনশনের অ্যাকশন সম্পর্কিত ব্যবহারকারীর নির্দিষ্ট করা সেটিংসের কালেকশন।

প্রপার্টি

  • isOnToolbar

    বুলিয়ান

    এক্সটেনশনের অ্যাকশন আইকন ব্রাউজার উইন্ডোর টপ-লেভেল টুলবারে দেখা যাচ্ছে কিনা (অর্থাৎ, ব্যবহারকারী এক্সটেনশনটি 'পিন' করেছেন কিনা)।

UserSettingsChange

Chrome 130+ Chrome 148 থেকে browser.*

প্রপার্টি

  • isOnToolbar

    বুলিয়ান ঐচ্ছিক

    এক্সটেনশনের অ্যাকশন আইকন ব্রাউজার উইন্ডোর টপ-লেভেল টুলবারে দেখা যাচ্ছে কিনা (অর্থাৎ, ব্যবহারকারী এক্সটেনশনটি 'পিন' করেছেন কিনা)।

পদ্ধতি

disable()

browser.action.disable(
  tabId?: number,
)
: Promise<void>

ট্যাবের জন্য অ্যাকশন বন্ধ করে দেয়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    যে ট্যাবের জন্য আপনি অ্যাকশন পরিবর্তন করতে চান সেটির আইডি।

রিটার্ন

  • <void> প্রমিস

enable()

browser.action.enable(
  tabId?: number,
)
: Promise<void>

ট্যাবের জন্য অ্যাকশন চালু করে। ডিফল্ট হিসেবে, অ্যাকশন চালু করা থাকে।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    যে ট্যাবের জন্য আপনি অ্যাকশন পরিবর্তন করতে চান সেটির আইডি।

রিটার্ন

  • <void> প্রমিস

getBadgeBackgroundColor()

browser.action.getBadgeBackgroundColor(
  details: TabDetails,
)
: Promise<extensionTypes.ColorArray>

অ্যাকশনের ব্যাকগ্রাউন্ডের রঙ পায়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

রিটার্ন

getBadgeText()

browser.action.getBadgeText(
  details: TabDetails,
)
: Promise<string>

অ্যাকশনের ব্যাজ টেক্সট পায়। কোনও ট্যাব নির্দিষ্ট করা না থাকলে, ট্যাব-নির্দিষ্ট নয় এমন ব্যাজ টেক্সট রিটার্ন করা হয়। displayActionCountAsBadgeText চালু করা থাকলে, declarativeNetRequestFeedback অনুমতি না থাকলে বা ট্যাব-নির্দিষ্ট ব্যাজ টেক্সট না দেওয়া হলে, প্লেসহোল্ডার টেক্সট দেখানো হবে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

রিটার্ন

  • Promise<string>

getBadgeTextColor()

Chrome 110+ ব্রাউজার।* Chrome 148 থেকে
browser.action.getBadgeTextColor(
  details: TabDetails,
)
: Promise<extensionTypes.ColorArray>

অ্যাকশনের টেক্সটের রঙ পায়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

রিটার্ন

getPopup()

browser.action.getPopup(
  details: TabDetails,
)
: Promise<string>

এই অ্যাকশনের জন্য পপ-আপ হিসেবে সেট করা HTML ডকুমেন্ট পায়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

রিটার্ন

  • Promise<string>

getTitle()

browser.action.getTitle(
  details: TabDetails,
)
: Promise<string>

অ্যাকশনের শীর্ষক পায়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

রিটার্ন

  • Promise<string>

getUserSettings()

Chrome 91+ Chrome 148 থেকে browser.*
browser.action.getUserSettings(): Promise<UserSettings>

এক্সটেনশনের অ্যাকশন সম্পর্কিত ব্যবহারকারীর নির্দিষ্ট করা সেটিংস দেখায়।

রিটার্ন

isEnabled()

Chrome 110+ ব্রাউজার।* Chrome 148 থেকে
browser.action.isEnabled(
  tabId?: number,
)
: Promise<boolean>

কোনও ট্যাবের জন্য এক্সটেনশন অ্যাকশন চালু করা আছে কিনা তা দেখায় (অথবা কোনও tabId প্রদান করা না হলে বিশ্বব্যাপী)। শুধুমাত্র declarativeContent ব্যবহার করে চালু করা অ্যাকশন সবসময় ভুল ফলাফল দেখায়।

প্যারামিটারগুলি

  • tabId

    নম্বর ঐচ্ছিক

    আপনি যে ট্যাবের জন্য চালু করা স্ট্যাটাস চেক করতে চান সেটির আইডি।

রিটার্ন

  • Promise<boolean>

openPopup()

Chrome 127+ browser.* Chrome 148 থেকে
browser.action.openPopup(
  options?: OpenPopupOptions,
)
: Promise<void>

এক্সটেনশনের পপ-আপ খোলে। Chrome 118 এবং Chrome 126-এর মধ্যে, এটি শুধুমাত্র নীতি ইনস্টল করা এক্সটেনশনের জন্য উপলভ্য।

প্যারামিটারগুলি

  • বিকল্প

    OpenPopupOptions ঐচ্ছিক

    পপ-আপ খোলার জন্য বিকল্প নির্দিষ্ট করে।

রিটার্ন

  • <void> প্রমিস

setBadgeBackgroundColor()

browser.action.setBadgeBackgroundColor(
  details: object,
)
: Promise<void>

ব্যাজের ব্যাকগ্রাউন্ডের রঙ সেট করে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • রঙ

      স্ট্রিং | ColorArray

      [০,২৫৫] রেঞ্জে চারটি পূর্ণসংখ্যার অ্যারে যা ব্যাজের RGBA রঙ তৈরি করে। যেমন, অস্বচ্ছ লাল হল [255, 0, 0, 255]। এছাড়াও, CSS ভ্যালু সহ স্ট্রিং হতে পারে, যেখানে অস্বচ্ছ লাল #FF0000 বা #F00 হতে পারে।

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

রিটার্ন

  • <void> প্রমিস

setBadgeText()

browser.action.setBadgeText(
  details: object,
)
: Promise<void>

অ্যাকশনের জন্য ব্যাজ টেক্সট সেট করে। আইকনের উপরে ব্যাজ দেখানো হয়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

    • মেসেজ পাঠান

      স্ট্রিং ঐচ্ছিক

      যেকোনও সংখ্যক অক্ষর পাস করা যেতে পারে, তবে স্পেসে মাত্র চারটি অক্ষর ফিট হতে পারে। খালি স্ট্রিং ('') পাস করা হলে, ব্যাজ টেক্সট মুছে যায়। tabId উল্লেখ করা থাকলে এবং text ফাঁকা থাকলে, উল্লেখ করা ট্যাবের টেক্সট মুছে যায় এবং ডিফল্ট হিসেবে গ্লোবাল ব্যাজ টেক্সট দেখানো হয়।

রিটার্ন

  • <void> প্রমিস

setBadgeTextColor()

Chrome 110+ ব্রাউজার।* Chrome 148 থেকে
browser.action.setBadgeTextColor(
  details: object,
)
: Promise<void>

ব্যাজের টেক্সটের রঙ সেট করে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • রঙ

      স্ট্রিং | ColorArray

      [০,২৫৫] রেঞ্জে চারটি পূর্ণসংখ্যার অ্যারে যা ব্যাজের RGBA রঙ তৈরি করে। যেমন, অস্বচ্ছ লাল হল [255, 0, 0, 255]। এছাড়াও, CSS ভ্যালু সহ স্ট্রিং হতে পারে, যেখানে অস্বচ্ছ লাল #FF0000 বা #F00 হতে পারে। এই ভ্যালু সেট না করলে, অটোমেটিক এমন একটি রঙ বেছে নেওয়া হবে যা ব্যাজের ব্যাকগ্রাউন্ড রঙের সাথে কন্ট্রাস্ট করবে যাতে টেক্সট দেখা যায়। 0-এর সমতুল্য আলফা ভ্যালু সহ রঙ সেট করা হবে না এবং একটি সমস্যা দেখাবে।

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

রিটার্ন

  • <void> প্রমিস

setIcon()

browser.action.setIcon(
  details: object,
)
: Promise<void>

অ্যাকশনের জন্য আইকন সেট করে। আইকনটি কোনও ছবির ফাইলের পাথ বা ক্যানভাস এলিমেন্ট থেকে পিক্সেল ডেটা বা এই দুটির মধ্যে যেকোনও একটির ডিকশনারি হিসেবে উল্লেখ করা যেতে পারে। path অথবা imageData প্রপার্টি নির্দিষ্ট করতে হবে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • imageData

      ImageData | অবজেক্ট ঐচ্ছিক

      ImageData অবজেক্ট বা ডিকশনারি {size -> ImageData} আইকন সেট করার জন্য ব্যবহার করা হয়। আইকনটি ডিকশনারি হিসেবে নির্দিষ্ট করা থাকলে, স্ক্রিনের পিক্সেল ঘনত্বের উপর নির্ভর করে ব্যবহার করার জন্য আসল ছবিটি বেছে নেওয়া হয়। একটি স্ক্রিন স্পেস ইউনিটে ফিট হওয়া ছবির পিক্সেলের সংখ্যা scale-এর সমান হলে, scale * n সাইজের ছবি বেছে নেওয়া হবে, যেখানে n হল UI-তে আইকনের সাইজ। অন্তত একটি ছবি উল্লেখ করতে হবে। মনে রাখবেন, 'details.imageData = foo' এবং 'details.imageData = {'16': foo}' একই

    • পথ

      স্ট্রিং | অবজেক্ট ঐচ্ছিক

      সেট করার জন্য আইকনকে পয়েন্ট করে এমন একটি আপেক্ষিক ইমেজ পাথ বা ডিকশনারি {size -> relative image path}। আইকনটি ডিকশনারি হিসেবে নির্দিষ্ট করা থাকলে, স্ক্রিনের পিক্সেল ঘনত্বের উপর নির্ভর করে ব্যবহার করার জন্য আসল ছবিটি বেছে নেওয়া হয়। একটি স্ক্রিন স্পেস ইউনিটে ফিট হওয়া ছবির পিক্সেলের সংখ্যা scale-এর সমান হলে, scale * n সাইজের ছবি বেছে নেওয়া হবে, যেখানে n হল UI-তে আইকনের সাইজ। অন্তত একটি ছবি উল্লেখ করতে হবে। মনে রাখবেন, 'details.path = foo' হল 'details.path = {'16': foo}'-এর সমতুল্য

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

রিটার্ন

  • <void> প্রমিস

    Chrome 96+ Chrome 148 থেকে browser.*

setPopup()

browser.action.setPopup(
  details: object,
)
: Promise<void>

ব্যবহারকারী অ্যাকশনের আইকনে ক্লিক করলে, পপ-আপ হিসেবে খোলার জন্য HTML ডকুমেন্ট সেট করে।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • পপ-আপ

      স্ট্রিং

      পপ-আপে দেখানোর জন্য HTML ফাইলের রিলেটিভ পাথ। খালি স্ট্রিং ('') হিসেবে সেট করা হলে, কোনও পপ-আপ দেখানো হয় না।

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

রিটার্ন

  • <void> প্রমিস

setTitle()

browser.action.setTitle(
  details: object,
)
: Promise<void>

অ্যাকশনের শীর্ষক সেট করে। এটি টুলটিপে দেখা যায়।

প্যারামিটারগুলি

  • বিস্তারিত বিবরণ

    অবজেক্ট

    • tabId

      নম্বর ঐচ্ছিক

      কোনও নির্দিষ্ট ট্যাব বেছে নেওয়া হলে পরিবর্তনকে সীমিত করে। ট্যাব বন্ধ হয়ে গেলে অটোমেটিক রিসেট হয়ে যায়।

    • শীর্ষক

      স্ট্রিং

      মাউস ওভার করলে অ্যাকশনটি যে স্ট্রিং দেখাবে।

রিটার্ন

  • <void> প্রমিস

ইভেন্ট

onClicked

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

কোনও অ্যাকশন আইকনে ক্লিক করা হলে ফায়ার করা হয়। অ্যাকশনে পপ-আপ থাকলে এই ইভেন্ট ট্রিগার হবে না।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome 130+ Chrome 148 থেকে browser.*
browser.action.onUserSettingsChanged.addListener(
  callback: function,
)

কোনও এক্সটেনশনের অ্যাকশন পরিবর্তনের সাথে সম্পর্কিত ব্যবহারকারী-নির্দিষ্ট সেটিংস পরিবর্তন করা হলে ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (change: UserSettingsChange) => void