ব্রাউজার.অ্যাকশন

বর্ণনা

গুগল ক্রোম টুলবারে এক্সটেনশনটির আইকন নিয়ন্ত্রণ করতে chrome.action API ব্যবহার করুন।

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

প্রাপ্যতা

ক্রোম ৮৮+ এমভি৩+

প্রকাশ

এই এপিআইটি ব্যবহার করার জন্য ম্যানিফেস্টে নিম্নলিখিত কী-গুলো অবশ্যই ঘোষণা করতে হবে।

"action"

browser.action API ব্যবহার করতে, "manifest_version" হিসেবে 3 উল্লেখ করুন এবং আপনার manifest ফাইলে "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" কী-টি হলো বিভিন্ন সাইজ ও ইমেজ পাথের একটি ডিকশনারি। কোন ইমেজ স্কেল ব্যবহার করা হবে তা বেছে নিতে ক্রোম এই আইকনগুলো ব্যবহার করে। যদি হুবহু মিল খুঁজে না পাওয়া যায়, তবে ক্রোম সবচেয়ে কাছাকাছি উপলব্ধ আইকনটি বেছে নেয় এবং সেটিকে ইমেজের সাথে মানানসই করে স্কেল করে, যা ছবির গুণমানকে প্রভাবিত করতে পারে।

যেহেতু ১.৫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 ফাইল থেকে ইনস্টল করা হয়) ক্ষেত্রে, ছবিগুলো ব্লিংক রেন্ডারিং ইঞ্জিন প্রদর্শন করতে পারে এমন প্রায় সব ফরম্যাটেই হতে পারে, যার মধ্যে রয়েছে PNG, JPEG, BMP, ICO এবং অন্যান্য। SVG সমর্থিত নয়। আনপ্যাকড এক্সটেনশনের ক্ষেত্রে অবশ্যই PNG ছবি ব্যবহার করতে হবে।

টুলটিপ (শিরোনাম)

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

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

ডিক্লারেটিভ কন্টেন্ট ব্যবহার করে অ্যাকশন অনুকরণ করুন।

এই উদাহরণটি দেখায় কিভাবে একটি এক্সটেনশনের ব্যাকগ্রাউন্ড লজিক (ক) ডিফল্টরূপে একটি অ্যাকশন নিষ্ক্রিয় করতে পারে এবং (খ) ডিক্লারেটিভ কন্টেন্ট ব্যবহার করে নির্দিষ্ট সাইটগুলিতে অ্যাকশনটি সক্রিয় করতে পারে।

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

ক্রোম ৯৯+

বৈশিষ্ট্য

  • উইন্ডোআইডি

    সংখ্যা ঐচ্ছিক

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

TabDetails

বৈশিষ্ট্য

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    যে ট্যাবের অবস্থা জানতে চাওয়া হবে, তার আইডি। যদি কোনো ট্যাব নির্দিষ্ট না করা হয়, তাহলে ট্যাব-বহির্ভূত অবস্থাটি ফেরত দেওয়া হয়।

UserSettings

ক্রোম ৯১+

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

বৈশিষ্ট্য

  • isOnToolbar

    বুলিয়ান

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

UserSettingsChange

ক্রোম ১৩০+

বৈশিষ্ট্য

  • isOnToolbar

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

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

পদ্ধতি

disable()

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

একটি ট্যাবের জন্য অ্যাকশনটি নিষ্ক্রিয় করে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

enable()

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

একটি ট্যাবের জন্য অ্যাকশনটি সক্রিয় করে। ডিফল্টরূপে, অ্যাকশনগুলো সক্রিয় থাকে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

getBadgeBackgroundColor()

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

অ্যাকশনটির ব্যাকগ্রাউন্ড কালার নির্ধারণ করে।

প্যারামিটার

ফেরত

getBadgeText()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<string>

getBadgeTextColor()

ক্রোম ১১০+
chrome.action.getBadgeTextColor(
  details: TabDetails,
)
: Promise<extensionTypes.ColorArray>

অ্যাকশনটির টেক্সট কালার নির্ধারণ করে।

প্যারামিটার

ফেরত

getPopup()

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

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

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<string>

getTitle()

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

কাজটি করার শিরোনাম পায়।

প্যারামিটার

ফেরত

  • প্রতিশ্রুতি<string>

getUserSettings()

ক্রোম ৯১+
chrome.action.getUserSettings(): Promise<UserSettings>

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

ফেরত

isEnabled()

ক্রোম ১১০+
chrome.action.isEnabled(
  tabId?: number,
)
: Promise<boolean>

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

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    যে ট্যাবটির সক্রিয় অবস্থা পরীক্ষা করতে চান, তার আইডি।

ফেরত

  • প্রতিশ্রুতি<বুলিয়ান>

openPopup()

ক্রোম ১২৭+
chrome.action.openPopup(
  options?: OpenPopupOptions,
)
: Promise<void>

এক্সটেনশনটির পপআপ খোলে। ক্রোম ১১৮ থেকে ক্রোম ১২৬ পর্যন্ত, এই সুবিধাটি শুধুমাত্র পলিসি দ্বারা ইনস্টল করা এক্সটেনশনগুলোর জন্য উপলব্ধ।

প্যারামিটার

  • বিকল্পগুলি

    পপআপ খোলার জন্য বিকল্পসমূহ নির্দিষ্ট করে।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

setBadgeBackgroundColor()

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

ব্যাজের পটভূমির রঙ নির্ধারণ করে।

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • রঙ

      স্ট্রিং | কালারঅ্যারে

      [0,255] পরিসরের মধ্যে চারটি পূর্ণসংখ্যার একটি অ্যারে যা ব্যাজটির RGBA রঙ তৈরি করে। উদাহরণস্বরূপ, অস্বচ্ছ লাল হলো [255, 0, 0, 255] । এটি একটি CSS মান সহ একটি স্ট্রিংও হতে পারে, যেখানে অস্বচ্ছ লাল হলো #FF0000 বা #F00

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

setBadgeText()

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

অ্যাকশনটির জন্য ব্যাজ টেক্সট নির্ধারণ করে। ব্যাজটি আইকনের উপরে প্রদর্শিত হয়।

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

    • পাঠ্য

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

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

ফেরত

  • প্রতিশ্রুতি<শূন্য>

setBadgeTextColor()

ক্রোম ১১০+
chrome.action.setBadgeTextColor(
  details: object,
)
: Promise<void>

ব্যাজের লেখার রঙ নির্ধারণ করে।

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • রঙ

      স্ট্রিং | কালারঅ্যারে

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

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

setIcon()

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

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

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • ছবির ডেটা

      ইমেজ ডেটা | অবজেক্ট ঐচ্ছিক

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

    • পথ

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

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

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

    ক্রোম ৯৬+

setPopup()

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

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

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • পপআপ

      স্ট্রিং

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

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

setTitle()

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

অ্যাকশনটির শিরোনাম নির্ধারণ করে। এটি টুলটিপে প্রদর্শিত হয়।

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • ট্যাবআইডি

      সংখ্যা ঐচ্ছিক

      পরিবর্তনটি শুধুমাত্র একটি নির্দিষ্ট ট্যাব নির্বাচিত থাকলেই সীমাবদ্ধ থাকে। ট্যাবটি বন্ধ করা হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।

    • শিরোনাম

      স্ট্রিং

      মাউস ওভার করা হলে যে স্ট্রিংটি প্রদর্শিত হবে।

ফেরত

  • প্রতিশ্রুতি<শূন্য>

ইভেন্টগুলি

onClicked

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

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

প্যারামিটার

onUserSettingsChanged

ক্রোম ১৩০+
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

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

প্যারামিটার