chrome.contextMenus

বর্ণনা

Google Chrome এর প্রসঙ্গ মেনুতে আইটেম যোগ করতে chrome.contextMenus API ব্যবহার করুন। ছবি, হাইপারলিঙ্ক এবং পৃষ্ঠার মতো আপনার প্রসঙ্গ মেনু সংযোজন কোন ধরনের বস্তুতে প্রযোজ্য তা আপনি বেছে নিতে পারেন।

অনুমতি

contextMenus

API ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার এক্সটেনশনের ম্যানিফেস্টে "contextMenus" অনুমতি ঘোষণা করতে হবে৷ এছাড়াও, আপনার মেনু আইটেমের পাশে প্রদর্শনের জন্য আপনার একটি 16 বাই 16-পিক্সেল আইকন নির্দিষ্ট করা উচিত। যেমন:

{
  "name": "My extension",
  ...
  "permissions": [
    "contextMenus"
  ],
  "icons": {
    "16": "icon-bitty.png",
    "48": "icon-small.png",
    "128": "icon-large.png"
  },
  ...
}

ধারণা এবং ব্যবহার

প্রসঙ্গ মেনু আইটেমগুলি যেকোন নথিতে (বা একটি নথির মধ্যে ফ্রেমে) উপস্থিত হতে পারে, এমনকি ফাইল:// বা chrome:// URL গুলিও৷ আপনার আইটেমগুলি কোন নথিতে উপস্থিত হতে পারে তা নিয়ন্ত্রণ করতে, আপনি যখন create() বা update() পদ্ধতিগুলি কল করেন তখন documentUrlPatterns ক্ষেত্রটি নির্দিষ্ট করুন৷

আপনি আপনার প্রয়োজন অনুযায়ী অনেকগুলি প্রসঙ্গ মেনু আইটেম তৈরি করতে পারেন, কিন্তু যদি আপনার এক্সটেনশন থেকে একাধিকবার একবারে দৃশ্যমান হয়, Google Chrome স্বয়ংক্রিয়ভাবে সেগুলিকে একটি একক অভিভাবক মেনুতে ভেঙে দেয়৷

উদাহরণ

এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে contextMenus API উদাহরণটি ইনস্টল করুন।

প্রকারভেদ

ContextType

Chrome 44+

একটি মেনুতে বিভিন্ন প্রেক্ষাপট প্রদর্শিত হতে পারে৷ 'সব' নির্দিষ্ট করা 'লঞ্চার' ব্যতীত অন্য সমস্ত প্রসঙ্গগুলির সমন্বয়ের সমতুল্য৷ 'লঞ্চার' প্রসঙ্গ শুধুমাত্র অ্যাপ দ্বারা সমর্থিত এবং লঞ্চার/টাস্কবার/ডক/ইত্যাদিতে অ্যাপ আইকনে ক্লিক করার সময় উপস্থিত প্রসঙ্গ মেনুতে মেনু আইটেম যোগ করতে ব্যবহৃত হয়। বিভিন্ন প্ল্যাটফর্ম একটি লঞ্চার প্রসঙ্গ মেনুতে আসলে কী সমর্থিত তার উপর সীমাবদ্ধতা রাখতে পারে।

এনাম

"সব"

"পৃষ্ঠা"

"ফ্রেম"

"নির্বাচন"

"লিঙ্ক"

"সম্পাদনাযোগ্য"

"ছবি"

"ভিডিও"

"অডিও"

"লঞ্চার"

"ব্রাউজার_অ্যাকশন"

"পৃষ্ঠা_ক্রিয়া"

"কর্ম"

CreateProperties

Chrome 123+

নতুন প্রসঙ্গ মেনু আইটেমের বৈশিষ্ট্য।

বৈশিষ্ট্য

  • চেক করা

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

    একটি চেকবক্স বা রেডিও বোতামের প্রাথমিক অবস্থা: নির্বাচিতদের জন্য true , অনির্বাচিতের জন্য false ৷ একটি প্রদত্ত গ্রুপে একবারে শুধুমাত্র একটি রেডিও বোতাম নির্বাচন করা যেতে পারে।

  • প্রসঙ্গ

    [ ContextType , ... ContextType []] ঐচ্ছিক

    প্রসঙ্গগুলির তালিকা এই মেনু আইটেমটি প্রদর্শিত হবে। ['page'] ডিফল্ট।

  • ডকুমেন্ট ইউআরএল প্যাটার্নস

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

    আইটেমটিকে শুধুমাত্র সেই নথি বা ফ্রেমে প্রয়োগ করতে সীমাবদ্ধ করে যার URL প্রদত্ত প্যাটার্নগুলির একটির সাথে মেলে৷ প্যাটার্ন ফরম্যাটের বিস্তারিত জানার জন্য, ম্যাচ প্যাটার্নস দেখুন।

  • সক্রিয়

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

    এই প্রসঙ্গ মেনু আইটেমটি সক্ষম বা অক্ষম কিনা। ডিফল্ট থেকে true

  • আইডি

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

    এই আইটেমটিতে বরাদ্দ করার জন্য অনন্য আইডি। ইভেন্ট পেজ জন্য বাধ্যতামূলক. এই এক্সটেনশনের জন্য অন্য আইডি হিসাবে একই হতে পারে না.

  • প্যারেন্টআইডি

    স্ট্রিং | সংখ্যা ঐচ্ছিক

    একটি অভিভাবক মেনু আইটেম আইডি; এটি আইটেমটিকে পূর্বে যোগ করা আইটেমের একটি শিশু করে তোলে।

  • targetUrlPatterns

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

    documentUrlPatterns এর মতো, img , audio এবং video ট্যাগের src অ্যাট্রিবিউট এবং a href অ্যাট্রিবিউটের উপর ভিত্তি করে ফিল্টার।

  • শিরোনাম

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

    আইটেমটিতে প্রদর্শিত পাঠ্য; type separator না হলে এটি প্রয়োজনীয় । প্রসঙ্গ selection হলে, নির্বাচিত পাঠ্যটি দেখানোর জন্য স্ট্রিংয়ের মধ্যে %s ব্যবহার করুন। উদাহরণস্বরূপ, যদি এই প্যারামিটারের মান হয় "'%s' থেকে পিগ ল্যাটিনে অনুবাদ করুন" এবং ব্যবহারকারী "কুল" শব্দটি নির্বাচন করেন, নির্বাচনের জন্য প্রসঙ্গ মেনু আইটেমটি হল "শূকর ল্যাটিনে 'কুল' অনুবাদ করুন"।

  • টাইপ

    আইটেম টাইপ ঐচ্ছিক

    মেনু আইটেম প্রকার. normal থেকে ডিফল্ট।

  • দৃশ্যমান

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

    আইটেমটি মেনুতে দৃশ্যমান কিনা।

  • অনক্লিক

    অকার্যকর ঐচ্ছিক

    একটি ফাংশন যা মেনু আইটেম ক্লিক করা হলে ফিরে কল করা হয়। এটি একটি পরিষেবা কর্মীর ভিতরে উপলব্ধ নয়; পরিবর্তে, আপনার contextMenus.onClicked এর জন্য একজন শ্রোতা নিবন্ধন করা উচিত।

    onclick ফাংশনটি এরকম দেখাচ্ছে:

    (info: OnClickData, tab: Tab) => {...}

    • তথ্য

      ক্লিক করা আইটেম সম্পর্কে তথ্য এবং যেখানে ক্লিকটি ঘটেছে সেই প্রসঙ্গে।

    • ট্যাব

      ট্যাবের বিশদ বিবরণ যেখানে ক্লিকটি ঘটেছে। এই প্যারামিটারটি প্ল্যাটফর্ম অ্যাপের জন্য নেই।

ItemType

Chrome 44+

মেনু আইটেম প্রকার.

এনাম

"স্বাভাবিক"

"চেকবক্স"

"রেডিও"

"বিভাজক"

OnClickData

একটি প্রসঙ্গ মেনু আইটেম ক্লিক করা হলে তথ্য পাঠানো হয়।

বৈশিষ্ট্য

  • চেক করা

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

    ক্লিক করার পর একটি চেকবক্স বা রেডিও আইটেমের অবস্থা নির্দেশ করে একটি পতাকা৷

  • সম্পাদনাযোগ্য

    বুলিয়ান

    উপাদান সম্পাদনাযোগ্য কিনা তা নির্দেশ করে একটি পতাকা (টেক্সট ইনপুট, টেক্সটেরিয়া, ইত্যাদি)।

  • ফ্রেমআইডি

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

    Chrome 51+

    এলিমেন্টের ফ্রেমের আইডি যেখানে কনটেক্সট মেনু ক্লিক করা হয়েছে, যদি এটি একটি ফ্রেমে থাকে।

  • ফ্রেম ইউআরএল

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

    উপাদানটির ফ্রেমের URL যেখানে প্রসঙ্গ মেনুতে ক্লিক করা হয়েছে, যদি এটি একটি ফ্রেমে থাকে।

  • linkUrl

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

    যদি উপাদানটি একটি লিঙ্ক হয়, তাহলে এটি যে URLটি নির্দেশ করে।

  • মিডিয়া টাইপ

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

    'ইমেজ', 'ভিডিও' বা 'অডিও'-এর মধ্যে একটি যদি এই ধরনের উপাদানগুলির একটিতে প্রসঙ্গ মেনু সক্রিয় করা হয়।

  • menuItemId

    স্ট্রিং | সংখ্যা

    ক্লিক করা মেনু আইটেমের আইডি।

  • pageUrl

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

    পৃষ্ঠার URL যেখানে মেনু আইটেমটি ক্লিক করা হয়েছে৷ এই বৈশিষ্ট্যটি সেট করা হয় না যদি ক্লিকটি এমন একটি প্রসঙ্গে ঘটে যেখানে কোনো বর্তমান পৃষ্ঠা নেই, যেমন একটি লঞ্চার প্রসঙ্গ মেনুতে।

  • parentMenuItemId

    স্ট্রিং | সংখ্যা ঐচ্ছিক

    প্যারেন্ট আইডি, যদি থাকে, ক্লিক করা আইটেমের জন্য।

  • নির্বাচন পাঠ্য

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

    প্রসঙ্গ নির্বাচনের জন্য পাঠ্য, যদি থাকে।

  • srcUrl

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

    একটি 'src' URL সহ উপাদানগুলির জন্য উপস্থিত থাকবে৷

  • চেক করা হয়েছিল

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

    ক্লিক করার আগে একটি চেকবক্স বা রেডিও আইটেমের অবস্থা নির্দেশ করে একটি পতাকা৷

বৈশিষ্ট্য

ACTION_MENU_TOP_LEVEL_LIMIT

সর্বোচ্চ সংখ্যক শীর্ষ স্তরের এক্সটেনশন আইটেম যা একটি এক্সটেনশন অ্যাকশন প্রসঙ্গ মেনুতে যোগ করা যেতে পারে৷ এই সীমা অতিক্রম কোনো আইটেম উপেক্ষা করা হবে.

মান

6

পদ্ধতি

create()

chrome.contextMenus.create(
  createProperties: CreateProperties,
  callback?: function,
)

একটি নতুন প্রসঙ্গ মেনু আইটেম তৈরি করে। সৃষ্টির সময় কোনো ত্রুটি দেখা দিলে, সৃষ্টি কলব্যাক ফায়ার না হওয়া পর্যন্ত এটি সনাক্ত করা যাবে না; বিস্তারিত runtime.lastError এ থাকবে।

পরামিতি

রিটার্নস

  • সংখ্যা | স্ট্রিং

    নতুন তৈরি আইটেম আইডি.

remove()

প্রতিশ্রুতি
chrome.contextMenus.remove(
  menuItemId: string | number,
  callback?: function,
)

একটি প্রসঙ্গ মেনু আইটেম সরিয়ে দেয়।

পরামিতি

  • menuItemId

    স্ট্রিং | সংখ্যা

    সরানোর জন্য প্রসঙ্গ মেনু আইটেমের আইডি।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 123+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

removeAll()

প্রতিশ্রুতি
chrome.contextMenus.removeAll(
  callback?: function,
)

এই এক্সটেনশন দ্বারা যোগ করা সমস্ত প্রসঙ্গ মেনু আইটেম সরিয়ে দেয়।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 123+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

update()

প্রতিশ্রুতি
chrome.contextMenus.update(
  id: string | number,
  updateProperties: object,
  callback?: function,
)

পূর্বে তৈরি করা প্রসঙ্গ মেনু আইটেম আপডেট করে।

পরামিতি

  • আইডি

    স্ট্রিং | সংখ্যা

    আইটেমের আইডি আপডেট করতে হবে।

  • আপডেট প্রোপার্টি

    বস্তু

    বৈশিষ্ট্য আপডেট করার জন্য. contextMenus.create ফাংশন হিসাবে একই মান গ্রহণ করে।

    • চেক করা

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

    • প্রসঙ্গ

      [ ContextType , ... ContextType []] ঐচ্ছিক

    • ডকুমেন্ট ইউআরএল প্যাটার্নস

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

    • সক্রিয়

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

    • প্যারেন্টআইডি

      স্ট্রিং | সংখ্যা ঐচ্ছিক

      আইটেমের আইডি এই আইটেমটির অভিভাবক করা হবে। দ্রষ্টব্য: আপনি একটি আইটেমকে তার নিজের বংশধরের সন্তান হওয়ার জন্য সেট করতে পারবেন না।

    • targetUrlPatterns

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

    • শিরোনাম

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

    • টাইপ

      আইটেম টাইপ ঐচ্ছিক

    • দৃশ্যমান

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

      Chrome 62+

      আইটেমটি মেনুতে দৃশ্যমান কিনা।

    • অনক্লিক

      অকার্যকর ঐচ্ছিক

      onclick ফাংশনটি এরকম দেখাচ্ছে:

      (info: OnClickData, tab: Tab) => {...}

      • তথ্য
        Chrome 44+
      • ট্যাব
        Chrome 44+

        ট্যাবের বিশদ বিবরণ যেখানে ক্লিকটি ঘটেছে। এই প্যারামিটারটি প্ল্যাটফর্ম অ্যাপের জন্য নেই।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মতো দেখাচ্ছে:

    () => void

রিটার্নস

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

    Chrome 123+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

ঘটনা

onClicked

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

একটি প্রসঙ্গ মেনু আইটেম ক্লিক করা হলে বহিস্কার করা হয়।

পরামিতি