শুরু করুন বিভাগটি পড়ার পরে, এই নির্দেশিকাটি এক্সটেনশন উপাদানগুলির একটি রূপরেখা হিসাবে ব্যবহার করুন, তাদের ক্ষমতা এবং কীভাবে তাদের একত্রিত করা যায়। এক্সটেনশনগুলি কী করতে সক্ষম তার সাথে প্রথমে নিজেকে পরিচিত করুন: তারপর এক্সটেনশনের মূল ধারণা বিভাগটি ব্যবহার করে এই বৈশিষ্ট্যগুলিকে কীভাবে একত্রিত করতে হয় তা শিখুন।

ইউজার ইন্টারফেস ডিজাইন করুন

বেশিরভাগ এক্সটেনশনের কাজ করার জন্য কিছু ধরনের ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন। এক্সটেনশন প্ল্যাটফর্ম আপনার এক্সটেনশনে মিথস্ক্রিয়া যোগ করার বিভিন্ন উপায় প্রদান করে। এই পদ্ধতিগুলির মধ্যে রয়েছে ক্রোম টুলবার, সাইড প্যানেল, প্রসঙ্গ মেনু এবং আরও অনেক কিছু থেকে ট্রিগার করা পপআপ৷ ,বেশিরভাগ এক্সটেনশনের কাজ করার জন্য কিছু ধরনের ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন। এক্সটেনশন প্ল্যাটফর্ম আপনার এক্সটেনশনে মিথস্ক্রিয়া যোগ করার বিভিন্ন উপায় প্রদান করে। এই পদ্ধতিগুলির মধ্যে রয়েছে ক্রোম টুলবার, সাইড প্যানেল, প্রসঙ্গ মেনু এবং আরও অনেক কিছু থেকে ট্রিগার করা পপআপ৷
একটি ওয়েব পেজের মূল কন্টেন্টের পাশাপাশি ব্রাউজারের সাইড প্যানেলে কন্টেন্ট হোস্ট করতে browser.sidePanel API ব্যবহার করুন browser.sidePanel
টুলবারে একটি এক্সটেনশনের আইকনের প্রদর্শন নিয়ন্ত্রণ করুন।
Google Chrome এর প্রসঙ্গ মেনুতে আইটেম যোগ করুন।

ব্রাউজার নিয়ন্ত্রণ করুন

Chrome এর এক্সটেনশন APIগুলি আপনার ব্রাউজার যেভাবে কাজ করে তা পরিবর্তন করা সম্ভব করে তোলে৷
সেটিংস ওভাররাইড হল এক্সটেনশনের নির্বাচিত Chrome সেটিংস ওভাররাইড করার একটি উপায়৷ উপরন্তু, এক্সটেনশনগুলি HTML ওভাররাইড পৃষ্ঠাগুলি ব্যবহার করতে পারে একটি পৃষ্ঠা প্রতিস্থাপন করতে যা Google Chrome সাধারণত প্রদান করে। একটি এক্সটেনশন বুকমার্ক ম্যানেজার, ইতিহাস ট্যাব বা নতুন ট্যাবকে ওভাররাইড করতে পারে৷
DevTools এক্সটেনশনগুলো, এক্সটেনশনে যুক্ত একটি DevTools পেজের মাধ্যমে DevTools-এর নির্দিষ্ট এক্সটেনশন API অ্যাক্সেস করে Chrome DevTools-এ কার্যকারিতা যোগ করে আপনি Chrome-এর browser.debugger ডিবাগিং প্রোটোকল চালু করতে browser.debugger API-ও ব্যবহার করতে পারেন। নেটওয়ার্ক ইন্টারঅ্যাকশন পরিমাপ করতে, জাভাস্ক্রিপ্ট ডিবাগ করতে, DOM পরিবর্তন করতে এবং আরও অনেক কিছুর জন্য এক বা একাধিক ট্যাবের সাথে সংযুক্ত হন।
browser.notifications API আপনাকে টেমপ্লেট ব্যবহার করে নোটিফিকেশন তৈরি করতে এবং ব্যবহারকারীর সিস্টেম ট্রে-তে এই নোটিফিকেশনগুলো দেখাতে দেয় browser.notifications
ব্রাউজারের ভিজিট browser.history পেজগুলোর রেকর্ডের সাথে ইন্টারঅ্যাক্ট করতে browser.history API এবং অন্যান্য ব্রাউজিং ডেটা পরিচালনা করতে browser.browsingData API ব্যবহার করুন। সর্বাধিক ভিজিট browser.browsingData সাইটগুলো অ্যাক্সেস করতে browser.topSites ব্যবহার করুন browser.topSites
ব্যবহারকারীর ব্রাউজার তৈরি, পরিবর্তন এবং সাজানোর জন্য browser.tabs , browser.tabGroups এবং browser.windows browser.windows মতো browser.tabGroups ব্যবহার করুন browser.tabs
আপনার এক্সটেনশনে browser.commands অ্যাকশন চালু করার জন্য কিবোর্ড শর্টকাট যোগ করতে browser.commands API ব্যবহার করুন। উদাহরণস্বরূপ, আপনি ব্রাউজার অ্যাকশনটি খোলার জন্য বা এক্সটেনশনে কোনো কমান্ড পাঠানোর জন্য একটি শর্টকাট যোগ করতে পারেন।
OAuth 2.0 অ্যাক্সেস টোকেন পেতে browser.identity API ব্যবহার করুন browser.identity
browser.management API-টি ইনস্টল করা এবং চলমান এক্সটেনশনগুলির তালিকা পরিচালনা করার উপায় প্রদান করে। এটি বিশেষত সেইসব এক্সটেনশনের জন্য উপযোগী browser.management যেগুলো বিল্ট-ইন নিউ ট্যাব পেজকে ওভাররাইড করে।
browser.omnibox API আপনাকে গুগল ক্রোমের অমনিবক্সে (অ্যাড্রেস বার) একটি কীওয়ার্ড নিবন্ধন করার সুযোগ দেয় browser.omnibox
ক্রোমের যে ফিচারগুলো ব্যবহারকারীর গোপনীয়তাকে প্রভাবিত করতে পারে, browser.privacy ব্যবহার নিয়ন্ত্রণ করতে browser.privacy API ব্যবহার করুন। এছাড়াও browser.proxy ক্রোমের প্রক্সি সেটিংস পরিচালনা করতে browser.proxy API দেখুন।
প্রোগ্রাম্যাটিকভাবে ডাউনলোড শুরু করতে, নিরীক্ষণ করতে, পরিচালনা browser.downloads এবং অনুসন্ধান করতে browser.downloads API ব্যবহার করুন।
এই তালিকাগুলি তৈরি, সংগঠিত এবং অন্যভাবে পরিচালনা browser.bookmarks browser.bookmarks API এবং browser.readingList browser.readingList ব্যবহার করুন।

ওয়েব নিয়ন্ত্রণ করুন

ওয়েব পৃষ্ঠাগুলির বিষয়বস্তু এবং আচরণ গতিশীলভাবে পরিবর্তন করুন। আপনি স্ক্রিপ্ট ইনজেকশন করে, নেটওয়ার্ক অনুরোধে বাধা দিয়ে এবং ওয়েব পেজের সাথে ইন্টারঅ্যাক্ট করার জন্য ওয়েব API ব্যবহার করে ওয়েব নিয়ন্ত্রণ এবং পরিবর্তন করতে পারেন।
বিষয়বস্তু স্ক্রিপ্টগুলি এমন ফাইল যা ওয়েব পৃষ্ঠাগুলির প্রসঙ্গে চলে৷ তারা স্ট্যান্ডার্ড ডকুমেন্ট অবজেক্ট মডেল (DOM) ব্যবহার করে, ব্রাউজার ভিজিট করা ওয়েব পৃষ্ঠাগুলির বিবরণ পড়তে, তাদের পরিবর্তন করতে এবং তাদের অভিভাবক এক্সটেনশনে তথ্য পাঠাতে। , বিষয়বস্তু স্ক্রিপ্টগুলি এমন ফাইল যা ওয়েব পৃষ্ঠাগুলির প্রসঙ্গে চলে৷ তারা স্ট্যান্ডার্ড ডকুমেন্ট অবজেক্ট মডেল (DOM) ব্যবহার করে, ব্রাউজার ভিজিট করা ওয়েব পৃষ্ঠাগুলির বিবরণ পড়তে, তাদের পরিবর্তন করতে এবং তাদের অভিভাবক এক্সটেনশনে তথ্য পাঠাতে।
"activeTab" অনুমতি একটি এক্সটেনশনকে বর্তমানে সক্রিয় ট্যাবে অস্থায়ী অ্যাক্সেস দেয় যখন ব্যবহারকারী এক্সটেনশনটি আহ্বান করে, উদাহরণস্বরূপ এটির অ্যাকশনে ক্লিক করে৷ ব্যবহারকারী সেই পৃষ্ঠায় থাকাকালীন ট্যাবে অ্যাক্সেস স্থায়ী হয় এবং ব্যবহারকারী যখন ট্যাবটি বন্ধ করে দেয় বা বন্ধ করে দেয় তখন তা প্রত্যাহার করা হয়।
নেটওয়ার্ক অনুরোধ পর্যবেক্ষণ, ব্লক এবং পরিবর্তন browser.webRequest browser.declarativeNetRequest , browser.webRequest এবং browser.webNavigation API- browser.webNavigation ব্যবহার করুন browser.declarativeNetRequest
browser.tabCapture বা getDisplayMedia() এর মতো ওয়েব প্ল্যাটফর্ম API ব্যবহার করে getDisplayMedia() ট্যাব, উইন্ডো বা স্ক্রিন থেকে অডিও এবং ভিডিও রেকর্ড করার বিভিন্ন পদ্ধতি সম্পর্কে জানুন browser.tabCapture
ওয়েবসাইটগুলো কুকি, জাভাস্ক্রিপ্ট এবং প্লাগইনের মতো ফিচারগুলো ব্যবহার করতে পারবে কিনা, browser.contentSettings নিয়ন্ত্রণ করতে browser.contentSettings API ব্যবহার করুন। আরও সাধারণভাবে বলতে গেলে, কন্টেন্ট সেটিংস আপনাকে বিশ্বব্যাপী না করে, প্রতিটি সাইটের জন্য আলাদাভাবে ক্রোমের আচরণ কাস্টমাইজ করার সুযোগ দেয়।

মুল ধারণা

ওয়েব প্ল্যাটফর্ম এবং এক্সটেনশন API ব্যবহার করে আপনি বিভিন্ন UI উপাদান এবং এক্সটেনশন প্ল্যাটফর্ম বৈশিষ্ট্যগুলিকে একত্রিত করে আরও জটিল বৈশিষ্ট্য তৈরি করতে পারেন৷
একটি এক্সটেনশন পরিষেবা কর্মী (service-worker.js) হল একটি ইভেন্ট-ভিত্তিক স্ক্রিপ্ট যা ব্রাউজারটি পটভূমিতে চালায়। এটি প্রায়শই ডেটা প্রক্রিয়া করতে, একটি এক্সটেনশনের বিভিন্ন অংশে কাজগুলি সমন্বয় করতে এবং একটি এক্সটেনশনের ইভেন্ট ম্যানেজার হিসাবে ব্যবহৃত হয়। ,একটি এক্সটেনশন পরিষেবা কর্মী (service-worker.js) হল একটি ইভেন্ট-ভিত্তিক স্ক্রিপ্ট যা ব্রাউজারটি পটভূমিতে চালায়। এটি প্রায়শই ডেটা প্রক্রিয়া করতে, একটি এক্সটেনশনের বিভিন্ন অংশে কাজগুলি সমন্বয় করতে এবং একটি এক্সটেনশনের ইভেন্ট ম্যানেজার হিসাবে ব্যবহৃত হয়।
অনুমতিগুলি বুঝুন: তারা কীভাবে কাজ করে এবং যখন তাদের প্রয়োজন হয় না তখন তাদের জিজ্ঞাসা করা এড়াতে হবে। ,অনুমতিগুলি বুঝুন: তারা কীভাবে কাজ করে এবং যখন তাদের প্রয়োজন হয় না তখন তাদের জিজ্ঞাসা করা এড়াতে হবে৷
Chrome এক্সটেনশনে বিষয়বস্তু এবং নেটওয়ার্ক ফিল্টারিং প্রয়োগ করার বিভিন্ন উপায় রয়েছে৷ এক্সটেনশনগুলিতে উপলব্ধ সামগ্রী ফিল্টারিং ক্ষমতা এবং Chrome এক্সটেনশনগুলির দ্বারা ব্যবহার করা যেতে পারে এমন বিভিন্ন ফিল্টারিং পদ্ধতি, কৌশল এবং API সম্পর্কে জানুন৷
অনেক সময় বিষয়বস্তু স্ক্রিপ্ট, বা অন্যান্য এক্সটেনশন পৃষ্ঠাগুলিকে এক্সটেনশন পরিষেবা কর্মী থেকে তথ্য পাঠাতে বা গ্রহণ করতে হয়। এই ক্ষেত্রে, উভয় পক্ষই অন্য প্রান্ত থেকে প্রেরিত বার্তা শুনতে পারে এবং একই চ্যানেলে প্রতিক্রিয়া জানাতে পারে।
নেটিভ অ্যাপ্লিকেশানগুলির সাথে বার্তা বিনিময় করতে আপনার এক্সটেনশনগুলিকে সক্ষম করুন৷ ,নেটিভ অ্যাপ্লিকেশনের সাথে বার্তা বিনিময় করতে আপনার এক্সটেনশনগুলিকে সক্ষম করুন৷
ম্যানিফেস্ট V3 এক্সটেনশনে এক্সটেনশনের ভিতরেই ব্যবহার করা সমস্ত কোড বান্ডিল করতে হবে। এটি করার জন্য বিভিন্ন কৌশল রয়েছে। ,মেনিফেস্ট V3 এক্সটেনশনে সমস্ত কোড বান্ডিল করতে হবে যা তারা এক্সটেনশনের ভিতরে ব্যবহার করছে। এটি করার জন্য বিভিন্ন কৌশল রয়েছে।
ক্রোম এক্সটেনশনগুলির একটি বিশেষ স্টোরেজ API রয়েছে, যা সমস্ত এক্সটেনশন উপাদানগুলির জন্য উপলব্ধ৷ এতে নির্দিষ্ট ব্যবহারের ক্ষেত্রে চারটি পৃথক স্টোরেজ ক্ষেত্র এবং একটি ইভেন্ট লিসেনার রয়েছে যা ডেটা আপডেট করা হলে ট্র্যাক করে। ,Chrome এক্সটেনশনগুলির একটি বিশেষ স্টোরেজ API রয়েছে, যা সমস্ত এক্সটেনশন উপাদানগুলির জন্য উপলব্ধ৷ এতে নির্দিষ্ট ব্যবহারের ক্ষেত্রে চারটি পৃথক স্টোরেজ ক্ষেত্র এবং একটি ইভেন্ট লিসেনার রয়েছে যা ডেটা আপডেট করা হলে ট্র্যাক করে।
পরিষেবা কর্মীদের DOM অ্যাক্সেস নেই৷ অফস্ক্রিন API এক্সটেনশনকে নতুন উইন্ডো বা ট্যাব খোলার মাধ্যমে ব্যবহারকারীর অভিজ্ঞতাকে বাধা না দিয়ে একটি লুকানো নথিতে DOM API ব্যবহার করার অনুমতি দেয়।
ক্রস-অরিজিন আইসোলেশন একটি ওয়েব পৃষ্ঠাকে শক্তিশালী বৈশিষ্ট্য যেমন SharedArrayBuffer ব্যবহার করতে সক্ষম করে। একটি এক্সটেনশন "cross_origin_embedder_policy" এবং "cross_origin_opener_policy" ম্যানিফেস্ট কীগুলির জন্য উপযুক্ত মানগুলি নির্দিষ্ট করে ক্রস-অরিজিন আইসোলেশন বেছে নিতে পারে৷
জানুন কিভাবে Chrome আপডেট এক্সটেনশন আপডেট প্রবাহ এবং কিভাবে এক্সটেনশন আপডেট বিতরণ নিরীক্ষণ করতে হয়।

আরো বিষয়