پس از خواندن بخش Get Started ، از این راهنما به عنوان یک طرح کلی از اجزای افزونه، قابلیت های آنها در Manifest V3 و نحوه ترکیب آنها استفاده کنید. ابتدا با آنچه افزونه ها قادر به انجام آن هستند آشنا شوید: سپس یاد بگیرید که چگونه این ویژگی ها را با استفاده از بخش مفاهیم هسته برنامه افزودنی ترکیب کنید. پس از خواندن بخش Get Started ، از این راهنما به عنوان یک طرح کلی از اجزای افزونه، قابلیت های آنها در Manifest V3 و نحوه ترکیب آنها استفاده کنید. ابتدا با آنچه افزونه ها قادر به انجام آن هستند آشنا شوید: سپس یاد بگیرید که چگونه این ویژگی ها را با استفاده از بخش مفاهیم هسته برنامه افزودنی ترکیب کنید.

رابط کاربری را طراحی کنید

بیشتر برنامه‌های افزودنی برای کار کردن به نوعی تعامل کاربر نیاز دارند. پلتفرم برنامه‌های افزودنی راه‌های مختلفی برای افزودن تعاملات به برنامه افزودنی شما ارائه می‌کند. این روش‌ها شامل پنجره‌های بازشو از نوار ابزار کروم، پانل‌های کناری، منوهای زمینه و موارد دیگر است. اکثر برنامه‌های افزودنی برای کار کردن به نوعی تعامل با کاربر نیاز دارند. پلتفرم برنامه‌های افزودنی راه‌های مختلفی برای افزودن تعاملات به برنامه افزودنی شما ارائه می‌کند. این روش‌ها شامل پنجره‌های بازشو از نوار ابزار کروم، پانل‌های کناری، منوهای زمینه و موارد دیگر است.
از chrome.sidePanel API برای میزبانی محتوا در پانل کناری مرورگر در کنار محتوای اصلی یک صفحه وب استفاده کنید. از chrome.sidePanel API برای میزبانی محتوا در پانل کناری مرورگر در کنار محتوای اصلی یک صفحه وب استفاده کنید.
نمایش نماد یک برنامه افزودنی را در نوار ابزار کنترل کنید.
موارد را به منوی زمینه Google Chrome اضافه کنید.

مرورگر را کنترل کنید

APIهای افزونه کروم این امکان را به شما می دهد تا نحوه کار مرورگر خود را تغییر دهید.
لغو تنظیمات راهی برای برنامه‌های افزودنی برای لغو تنظیمات انتخابی Chrome است. علاوه بر این، برنامه‌های افزودنی می‌توانند از صفحات لغو HTML برای جایگزینی صفحه‌ای که Google Chrome معمولاً ارائه می‌کند، استفاده کنند. یک برنامه افزودنی می تواند مدیر نشانک، برگه تاریخچه یا برگه جدید را لغو کند.
برنامه‌های افزودنی DevTools با دسترسی به APIهای ��رنامه‌��ویس برنامه‌نویس از طریق صفحه DevTools که به برنامه افزودنی اضافه شده است ، عملکردی را به Chrome DevTools اضافه می‌کنند . همچنین می‌توانید از chrome.debugger API برای فراخوانی پروتکل اشکال‌زدایی راه دور Chrome استفاده کنید. برای تعامل شبکه ابزار، اشکال زدایی جاوا اسکریپت، جهش در DOM و موارد دیگر، به یک یا چند برگه متصل کنید. ,افزونه‌های DevTools با دسترسی به APIهای برنامه‌افزوده ویژه DevTools از طریق صفحه DevTools که به برنامه افزودنی اضافه شده است ، عملکردی را به Chrome DevTools اضافه می‌کنند . همچنین می‌توانید از chrome.debugger API برای فراخوانی پروتکل اشکال‌زدایی راه دور Chrome استفاده کنید. برای تعامل شبکه ابزار، اشکال زدایی جاوا اسکریپت، جهش در DOM و موارد دیگر، به یک یا چند برگه متصل کنید.
chrome.notifications API به شما امکان می دهد با استفاده از الگوها اعلان ایجاد کنید و این اعلان ها را به کاربران در سینی سیستم کاربر نشان دهید.
از chrome.history API برای تعامل با سابقه مرورگر از صفحات بازدید شده و از chrome.browsingData API برای مدیریت سایر داده های مرور استفاده کنید. برای دسترسی به سایت های پربازدید از chrome.topSites استفاده کنید. از chrome.history API برای تعامل با سابقه مرورگر از صفحات بازدید شده و از chrome.browsingData API برای مدیریت سایر داده های مرور استفاده کنید. برای دسترسی به سایت های پربازدید از chrome.topSites استفاده کنید.
از API هایی مانند chrome.tabs ، chrome.tabGroups و chrome.windows برای ایجاد، اصلاح و ترتیب مرورگر کاربر استفاده کنید. از API هایی مانند chrome.tabs ، chrome.tabGroups و chrome.windows برای ایجاد، اصلاح و ترتیب مرورگر کاربر استفاده کنید.
از chrome.commands API برای افزودن میانبرهای صفحه کلید که اقداماتی را در برنامه افزودنی شما فعال می کنند، استفاده کنید. به عنوان مثال، می توانید یک میانبر برای باز کردن عملکرد مرورگر اضافه کنید یا دستوری را به برنامه افزودنی ارسال کنید. از chrome.commands API برای افزودن میانبرهای صفحه کلیدی که اقداماتی را در برنامه افزودنی شما فعال می کنند، استفاده کنید. به عنوان مثال، می توانید یک میانبر برای باز کردن عملکرد مرورگر اضافه کنید یا دستوری را به برنامه افزودنی ارسال کنید.
از chrome.identity API برای دریافت نشانه‌های دسترسی OAuth 2.0 استفاده کنید. برای دریافت نشانه های دسترسی OAuth 2.0 از chrome.identity API استفاده کنید.
chrome.management API راه‌هایی برای مدیریت فهرست افزونه‌هایی که نصب و اجرا شده‌اند ارائه می‌کند. مخصوصاً برای برنامه‌های افزودنی که صفحه تب جدید داخلی را لغو می‌کنند مفید است.
chrome.omnibox API به شما امکان می دهد کلمه کلیدی را در omnibox (نوار آدرس) Google Chrome ثبت کنید.
از chrome.privacy API برای کنترل استفاده از ویژگی‌هایی در Chrome استفاده کنید که می‌تواند بر حریم خصوصی کاربر تأثیر بگذارد. همچنین برای مدیریت تنظیمات پروکسی 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() آشنا شوید.
از chrome.contentSettings API استفاده کنید تا کنترل کنید آیا وب‌سایت‌ها می‌توانند از ویژگی‌هایی مانند کوکی‌ها، جاوا اسکریپت و افزونه‌ها استفاده کنند یا خیر. به طور کلی تر، تنظیمات محتوا به شما این امکان را می دهد که رفتار Chrome را بر اساس هر سایت به جای جهانی سفارشی کنید.

مفاهیم اصلی

با استفاده از پلتفرم وب و APIهای برنامه افزودنی می‌توانید ویژگی‌های پیچیده‌تری را با ترکیب اجزای مختلف UI و ویژگی‌های پلتفرم افزونه ایجاد کنید.
کارمند سرویس توسعه (service-worker.js) یک اسکریپت مبتنی بر رویداد است که مرورگر در پس‌زمینه اجرا می‌شود. اغلب برای پردازش داده ها، هماهنگ کردن وظایف در بخش های مختلف یک برنامه افزودنی و به عنوان مدیر رویداد یک برنامه افزودنی استفاده می شود.
مجوزها را بدانید: چگونه کار می کنند و چه زمانی از درخواست آنها در مواقعی که نیازی به آنها نیست اجتناب کنید.
روش های مختلفی برای پیاده سازی محتوا و فیلتر شبکه در برنامه های افزودنی کروم وجود دارد. درباره قابلیت‌های فیلتر کردن محتوا در دسترس برنامه‌های افزودنی و روش‌ها، تکنیک‌ها و API‌های مختلف فیلتر که می‌تواند توسط برنامه‌های افزودنی Chrome استفاده شود، بیاموزید.
بسیاری از مواقع اسکریپت های محتوا یا سایر صفحات افزونه نیاز به ارسال یا دریافت اطلاعات از کارمند خدمات افزونه دارند. در این موارد، هر طرف می‌تواند پیام‌های ارسال شده از طرف دیگر را گوش کند و در همان کانال پاسخ دهد.
برنامه های افزودنی خود را برای تبادل پیام با برنامه های بومی فعال کنید.
در Manifest V3 افزونه‌ها باید تمام کدهایی را که استفاده می‌کنند در داخل خود برنامه افزودنی قرار دهند. برای انجام این کار استراتژی های مختلفی وجود دارد.
برنامه‌های افزودنی Chrome دارای یک API اختصاصی ذخیره‌سازی هستند که برای همه اجزای برنامه افزودنی در دسترس است. این شامل چهار فضای ذخیره‌سازی مجزا برای موارد استفاده خاص و شنونده رویداد است که هر زمان که داده‌ها به‌روزرسانی می‌شوند، ردیابی می‌کند.
کارکنان خدمات دسترسی DOM ندارند. Offscreen API به برنامه افزودنی اجازه می دهد تا از API های DOM در یک سند مخفی بدون ایجاد وقفه در تجربه کاربر با باز کردن پنجره ها یا برگه های جدید استفاده کند.
جداسازی منبع متقابل به یک صفحه وب امکان می دهد از ویژگی های قدرتمندی مانند SharedArrayBuffer استفاده کند. یک برنامه افزودنی می‌تواند با تعیین مقادیر مناسب برای کلیدهای مانیفست "cross_origin_embedder_policy" و "cross_origin_opener_policy" از جداسازی متقاطع استفاده کند.