chrome.pageAction

রিফ্রেশ তারিখ: ২০২৬-০৯-২৫ রোবটস: নোইনডেক্স

বর্ণনা

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

প্রাপ্যতা

≤ এমভি২

কিছু উদাহরণ:

  • এই পৃষ্ঠার আরএসএস ফিডে সাবস্ক্রাইব করুন
  • এই পৃষ্ঠার ছবিগুলো দিয়ে একটি স্লাইডশো তৈরি করুন।

নিচের স্ক্রিনশটে থাকা 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-এর মতো কম প্রচলিত স্কেল ফ্যাক্টরযুক্ত ডিভাইসগুলো এখন বেশি প্রচলিত হচ্ছে, তাই আপনাকে আপনার আইকনগুলোর জন্য একাধিক আকার দেওয়ার পরামর্শ দেওয়া হচ্ছে। ক্রোম সবচেয়ে কাছের আকারটি বেছে নেবে এবং সেটিকে ১৬-ডিপ স্পেসটি পূরণ করার জন্য স্কেল করবে। এটি আরও নিশ্চিত করে যে, যদি কখনও আইকনের প্রদর্শনের আকার পরিবর্তন করা হয়, তবে আপনাকে ভিন্ন আইকন দেওয়ার জন্য আর কোনো কাজ করতে হবে না! তবে, আকারের পার্থক্য যদি খুব বেশি হয়, তাহলে এই স্কেলিংয়ের কারণে আইকনটি তার ডিটেইল হারাতে পারে বা ঝাপসা দেখাতে পারে।

ডিফল্ট আইকন নিবন্ধন করার পুরোনো সিনট্যাক্সটি এখনও সমর্থিত:

{
  "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 এলিমেন্ট থেকে)।

প্রকার

ইমেজ ডেটা

TabDetails

ক্রোম ৮৮+

বৈশিষ্ট্য

  • ট্যাবআইডি

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

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

পদ্ধতি

getPopup()

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

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

প্যারামিটার

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

    ফাংশন ঐচ্ছিক

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

    (result: string) => void

    • ফলাফল

      স্ট্রিং

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

getTitle()

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

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

প্যারামিটার

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

    ফাংশন ঐচ্ছিক

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

    (result: string) => void

    • ফলাফল

      স্ট্রিং

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

hide()

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

পেজ অ্যাকশনটি লুকিয়ে ফেলে। লুকানো পেজ অ্যাকশনগুলো ক্রোম টুলবারে দেখা গেলেও, সেগুলো ধূসর রঙের হয়ে থাকে।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    ক্রোম ৬৭+

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

    () => void

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

setIcon()

প্রতিশ্রুতি
chrome.pageAction.setIcon(
  details: object,
  callback?: function,
)
: 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}' এর সমতুল্য।

    • ট্যাবআইডি

      সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    () => void

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

setPopup()

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

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

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • পপআপ

      স্ট্রিং

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

    • ট্যাবআইডি

      সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    ক্রোম ৬৭+

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

    () => void

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

setTitle()

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

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

প্যারামিটার

  • বিস্তারিত

    বস্তু

    • ট্যাবআইডি

      সংখ্যা

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

    • শিরোনাম

      স্ট্রিং

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    ক্রোম ৬৭+

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

    () => void

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

show()

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

পেজ অ্যাকশন দেখায়। যখনই ট্যাবটি নির্বাচন করা হয়, তখনই পেজ অ্যাকশনটি দেখানো হয়।

প্যারামিটার

  • ট্যাবআইডি

    সংখ্যা

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    ক্রোম ৬৭+

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

    () => void

ফেরত

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

    ক্রোম ১০১+

    প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।

ইভেন্টগুলি

onClicked

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

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

প্যারামিটার