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

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

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

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

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

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

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

মুল ধারণা

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