chrome.pageAction

refresh date: 2026-09-25 robots: noindex

বিবরণ

অ্যাড্রেস বারের ডানদিকে, মূল Google Chrome টুলবারে আইকন যোগ করতে chrome.pageAction API ব্যবহার করুন। পৃষ্ঠা অ্যাকশন বলতে বর্তমান পৃষ্ঠায় নেওয়া যেতে পারে এমন অ্যাকশনকে বোঝায়, তবে এটি সব পৃষ্ঠার ক্ষেত্রে প্রযোজ্য নয়। পৃষ্ঠা অ্যাকশন বন্ধ থাকলে তা ধূসর রঙের দেখায়।

উপলভ্যতা

≤ MV2

কিছু উদাহরণ:

  • এই পৃষ্ঠার RSS ফিডে সাবস্ক্রাইব করুন
  • এই পৃষ্ঠার ফটো থেকে স্লাইডশো তৈরি করুন

নিচের স্ক্রিনশটে RSS আইকনটি একটি পৃষ্ঠা অ্যাকশনকে দেখায় যা আপনাকে বর্তমান পৃষ্ঠার জন্য RSS ফিডে সাবস্ক্রাইব করতে দেয়।

লুকানো পৃষ্ঠার অ্যাকশন ধূসর রঙের দেখায়। যেমন, নিচের RSS ফিডটি ধূসর রঙের, কারণ আপনি বর্তমান পৃষ্ঠার জন্য ফিডে সাবস্ক্রাইব করতে পারবেন না:

পরিবর্তে ব্রাউজার অ্যাকশন ব্যবহার করার কথা বিবেচনা করুন, যাতে ব্যবহারকারীরা সবসময় আপনার এক্সটেনশনের সাথে ইন্টার‍্যাক্ট করতে পারেন।

ম্যানিফেস্ট

এক্সটেনশন ম্যানিফেস্টে আপনার পৃষ্ঠার অ্যাকশন এইভাবে রেজিস্টার করুন:

{
  "name": "My extension",
  ...
  "page_action": {
    "default_icon": {                    // optional
      "16": "images/icon16.png",           // optional
      "24": "images/icon24.png",           // optional
      "32": "images/icon32.png"            // optional
    },
    "default_title": "Google Mail",      // optional; shown in tooltip
    "default_popup": "popup.html"        // optional
  },
  ...
}

যেহেতু ১.৫x বা ১.২x-এর মতো কম-সাধারণ স্কেল ফ্যাক্টর সহ ডিভাইসগুলি আরও সাধারণ হয়ে উঠছে, তাই আপনাকে আপনার আইকনের জন্য একাধিক সাইজ প্রদান করতে উৎসাহিত করা হচ্ছে। Chrome সবচেয়ে কাছেরটি বেছে নেবে এবং ১৬-ডিপ স্পেস পূরণ করার জন্য এটি স্কেল করবে। এছাড়াও, এটি নিশ্চিত করে যে আইকন ডিসপ্লের সাইজ কখনও পরিবর্তন করা হলে, আপনাকে বিভিন্ন আইকন দেওয়ার জন্য আর কোনও কাজ করতে হবে না! তবে, সাইজের পার্থক্য খুব বেশি হলে, এই স্কেলিংয়ের ফলে আইকনের বিবরণ হারিয়ে যেতে পারে বা সেটি অস্পষ্ট দেখাতে পারে।

ডিফল্ট আইকন রেজিস্টার করার জন্য পুরনো সিনট্যাক্স এখনও কাজ করে:

{
  "name": "My extension",
  ...
  "page_action": {
    ...
    "default_icon": "images/icon32.png"  // optional
    // equivalent to "default_icon": { "32": "images/icon32.png" }
  },
  ...
}

UI-এর অংশ

ব্রাউজার অ্যাকশনের মতো, পৃষ্ঠা অ্যাকশনে আইকন, টুলটিপ এবং পপ-আপ থাকতে পারে; তবে, এতে ব্যাজ থাকতে পারে না। এছাড়াও, পৃষ্ঠার অ্যাকশন ধূসর রঙের হতে পারে। আপনি ব্রাউজার অ্যাকশন UI সম্পর্কে পড়ে আইকন, টুলটিপ ও পপ-আপ সম্পর্কে তথ্য পেতে পারেন।

আপনি যথাক্রমে pageAction.show এবং pageAction.hide পদ্ধতি ব্যবহার করে পৃষ্ঠার অ্যাকশন দেখাতে এবং ধূসর করতে পারেন। ডিফল্ট হিসেবে, পৃষ্ঠার অ্যাকশন ধূসর রঙের দেখায়। আপনি এটি দেখালে, কোন ট্যাবে আইকনটি দেখানো উচিত তা নির্দিষ্ট করেন। ট্যাব বন্ধ না হওয়া পর্যন্ত বা অন্য URL (যেমন, ব্যবহারকারী কোনও লিঙ্কে ক্লিক করলে) দেখানো শুরু না হওয়া পর্যন্ত আইকনটি দেখা যায়।

পরামর্শ

সবচেয়ে ভালো ভিজ্যুয়াল ইমপ্যাক্টের জন্য, এইসব নির্দেশিকা অনুসরণ করুন:

  • শুধুমাত্র কয়েকটি পৃষ্ঠার জন্য অর্থপূর্ণ ফিচারের ক্ষেত্রে পৃষ্ঠা অ্যাকশন ব্যবহার করুন।
  • এমন ফিচার যা বেশিরভাগ পৃষ্ঠার জন্য উপযুক্ত, সেগুলির জন্য পৃষ্ঠা অ্যাকশন ব্যবহার করবেন না। পরিবর্তে ব্রাউজার অ্যাকশন ব্যবহার করুন।
  • আপনার আইকন ক্রমাগত অ্যানিমেট করবেন না। এটা শুধু বিরক্তিকর।

ধরন

ImageDataType

ছবির জন্য পিক্সেল ডেটা। অবশ্যই ImageData অবজেক্ট হতে হবে (যেমন, canvas এলিমেন্ট থেকে)।

ধরন

ImageData

TabDetails

Chrome 88+

প্রপার্টি

  • tabId

    নম্বর ঐচ্ছিক

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

পদ্ধতি

getPopup()

প্রতিশ্রুতি
chrome.pageAction.getPopup(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

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

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

  • বিস্তারিত বিবরণ
  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (result: string) => void

    • ফলাফল

      স্ট্রিং

রিটার্ন

  • Promise<string>

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getTitle()

প্রতিশ্রুতি
chrome.pageAction.getTitle(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

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

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

  • বিস্তারিত বিবরণ
  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (result: string) => void

    • ফলাফল

      স্ট্রিং

রিটার্ন

  • Promise<string>

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

hide()

প্রতিশ্রুতি
chrome.pageAction.hide(
  tabId: number,
  callback?: function,
)
: Promise<void>

পৃষ্ঠার অ্যাকশন লুকায়। লুকানো পৃষ্ঠা অ্যাকশন এখনও Chrome টুলবারে দেখা যায়, তবে ধূসর রঙের হয়।

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

  • tabId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 67+

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

setIcon()

প্রতিশ্রুতি
chrome.pageAction.setIcon(
  details: object,
  callback?: function,
)
: Promise<void>

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

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

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

    অবজেক্ট

    • iconIndex

      নম্বর ঐচ্ছিক

      বন্ধ করা হয়েছে। এই আর্গুমেন্ট উপেক্ষা করা হয়েছে।

    • 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

      নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

setPopup()

প্রতিশ্রুতি
chrome.pageAction.setPopup(
  details: object,
  callback?: function,
)
: Promise<void>

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

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

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

    অবজেক্ট

    • পপ-আপ

      স্ট্রিং

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

    • tabId

      নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 67+

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

setTitle()

প্রতিশ্রুতি
chrome.pageAction.setTitle(
  details: object,
  callback?: function,
)
: Promise<void>

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

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

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

    অবজেক্ট

    • tabId

      নম্বর

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

    • শীর্ষক

      স্ট্রিং

      টুলটিপ স্ট্রিং।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 67+

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

show()

প্রতিশ্রুতি
chrome.pageAction.show(
  tabId: number,
  callback?: function,
)
: Promise<void>

পৃষ্ঠার অ্যাকশন দেখায়। ট্যাব বেছে নেওয়া হলে পৃষ্ঠার অ্যাকশন দেখানো হয়।

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

  • tabId

    নম্বর

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 67+

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

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 101+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

ইভেন্ট

onClicked

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

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

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

  • কলব্যাক

    ফাংশন

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

    (tab: tabs.Tab) => void