توسعه دهید
پس از خواندن بخش شروع ، از این راهنما به عنوان طرح کلی اجزای برنامه افزودنی، قابلیت های آنها و نحوه ترکیب آنها استفاده کنید. ابتدا با آنچه افزونه ها قادر به انجام آن هستند آشنا شوید: سپس یاد بگیرید که چگونه این ویژگی ها را با استفاده از بخش مفاهیم هسته برنامه افزودنی ترکیب کنید.
رابط کاربری را طراحی کنید
بیشتر برنامههای افزودنی برای کار کردن به نوعی تعامل کاربر نیاز دارند. پلتفرم برنامههای افزودنی راههای مختلفی برای افزودن تعاملات به برنامه افزودنی شما ارائه میکند. این روشها شامل پنجرههای بازشو از نوار ابزار کروم، پانلهای کناری، منوهای زمینه و موارد دیگر است.
اکثر برنامههای افزودنی برای کار کردن به نوعی تعامل با کاربر نیاز دارند. پلتفرم برنامههای افزودنی راههای مختلفی برای افزودن تعاملات به برنامه افزودنی شما ارائه میکند. این روشها شامل پنجرههای بازشو از نوار ابزار کروم، پانلهای کناری، منوهای زمینه و موارد دیگر است.
پنل کناری
از API
browser.sidePanel برای میزبانی محتوا در پنل کناری مرورگر در کنار محتوای اصلی یک صفحه وب استفاده کنید. از API browser.sidePanel برای میزبانی محتوا در پنل کناری مرورگر در کنار محتوای اصلی یک صفحه وب استفاده کنید.
عمل
نمایش نماد یک برنامه افزودنی را در نوار ابزار کنترل کنید.
منوها
موارد را به منوی زمینه Google Chrome اضافه کنید.
مرورگر را کنترل کنید
APIهای افزونه کروم این امکان را به شما می دهد تا نحوه کار مرورگر خود را تغییر دهید.
صفحات و تنظیمات Chrome را لغو کنید
لغو تنظیمات راهی برای برنامههای افزودنی برای لغو تنظیمات انتخابی Chrome است. علاوه بر این، برنامههای افزودنی میتوانند از صفحات لغو HTML برای جایگزینی صفحهای که Google Chrome معمولاً ارائه میکند، استفاده کنند. یک برنامه افزودنی می تواند مدیر نشانک، برگه تاریخچه یا برگه جدید را لغو کند.
گسترش DevTools
افزونههای DevTools با دسترسی به APIهای افزونه مخصوص DevTools از طریق یک صفحه DevTools که به افزونه اضافه شده است ، قابلیتهایی را به DevTools کروم اضافه میکنند . همچنین میتوانید از API
browser.debugger برای فراخوانی پروتکل اشکالزدایی از راه دور کروم استفاده کنید. برای سنجش تعامل شبکه، اشکالزدایی جاوا اسکریپت، تغییر DOM و موارد دیگر، به یک یا چند تب متصل شوید. افزونههای DevTools با دسترسی به APIهای افزونه مخصوص DevTools از طریق یک صفحه DevTools که به افزونه اضافه شده است، قابلیتهایی را به DevTools کروم اضافه میکنند . همچنین میتوانید از API browser.debugger برای فراخوانی پروتکل اشکالزدایی از راه دور کروم استفاده کنید. برای سنجش تعامل شبکه، اشکالزدایی جاوا اسکریپت، تغییر DOM و موارد دیگر، به یک یا چند تب متصل شوید.
نمایش اعلان ها
API
browser.notifications browser.notifications به شما امکان میدهد با استفاده از قالبها، اعلانهایی ایجاد کنید و این اعلانها را در سینی سیستم کاربر به کاربران نشان دهید.
مدیریت تاریخچه
از API
browser.history برای تعامل با سابقه صفحات بازدید شده مرورگر و از API browser.browsingData برای مدیریت سایر دادههای مرور استفاده کنید. browser.topSites برای دسترسی به سایتهای پربازدید استفاده کنید. از API browser.history برای تعامل با سابقه صفحات بازدید شده مرورگر و از API browser.browsingData برای مدیریت سایر دادههای مرور استفاده کنید. browser.topSites برای دسترسی به سایتهای پربازدید استفاده کنید.
تب ها و پنجره ها را کنترل کنید
از
browser.tabGroups browser.tabs مانند browser.tabs ، browser.tabGroups و browser.windows برای ایجاد browser.windows تغییر و مرتبسازی مرورگر کاربر استفاده کنید.
میانبرهای صفحه کلید را اضافه کنید
از API
browser.commands برای اضافه کردن میانبرهای صفحهکلید که باعث ایجاد اقداماتی در افزونه شما browser.commands ، استفاده کنید. به عنوان مثال، میتوانید یک میانبر برای باز کردن اکشن مرورگر یا ارسال یک دستور به افزونه اضافه کنید.
احراز هویت کاربران
از API
browser.identity برای دریافت توکنهای دسترسی OAuth 2.0 استفاده کنید. ,از API browser.identity برای دریافت توکنهای دسترسی OAuth 2.0 استفاده کنید.
برنامه های افزودنی را مدیریت کنید
API
browser.management browser.management API) روشهایی برای مدیریت فهرست افزونههای نصبشده و در حال اجرا ارائه میدهد. این API بهویژه برای افزونههایی که صفحه تب جدید (New Tab) داخلی را نادیده میگیرند، مفید است.
پیشنهاداتی ارائه کنید
API
browser.omnibox به شما امکان میدهد یک کلمه کلیدی را در omnibox (نوار آدرس) گوگل کروم ثبت کنید. ,API مربوط به browser.omnibox به شما امکان میدهد یک کلمه کلیدی را در omnibox (نوار آدرس) گوگل کروم ثبت کنید.
تنظیمات کروم را به روز کنید
از API
browser.privacy برای کنترل استفاده از ویژگیهایی در کروم که میتوانند بر حریم خصوصی کاربر تأثیر بگذارند، استفاده کنید. همچنین برای مدیریت تنظیمات پروکسی کروم به API مربوط به browser.proxy مراجعه کنید. ,از API browser.privacy برای کنترل استفاده از ویژگیهایی در کروم که میتوانند بر حریم خصوصی کاربر تأثیر بگذارند، استفاده کنید. همچنین برای مدیریت تنظیمات پروکسی کروم به API مربوط به browser.proxy مراجعه کنید.
دانلودها را مدیریت کنید
از API
browser.downloads برای شروع، نظارت، دستکاری و جستجوی دانلودها به صورت برنامهنویسی browser.downloads استفاده کنید.
از نشانک ها و لیست خواندن استفاده کنید
از API
browser.bookmarks و API browser.bookmarks browser.readingList browser.readingList برای ایجاد، سازماندهی و دستکاری این لیستها استفاده کنید.
وب را کنترل کنید
به صورت پویا محتوا و رفتار صفحات وب را تغییر دهید. میتوانید با تزریق اسکریپتها، رهگیری درخواستهای شبکه و استفاده از APIهای وب برای تعامل با صفحات وب، وب را کنترل و اصلاح کنید.
جاوا اسکریپت و CSS را تزریق کنید
اسکریپت های محتوا فایل هایی هستند که در متن صفحات وب اجرا می شوند. آنها از مدل استاندارد شیء سند (DOM) برای خواندن جزئیات صفحات وب که مرورگر بازدید می کند، ایجاد تغییرات در آنها و ارسال اطلاعات به پسوند والد خود استفاده می کنند. ، اسکریپت های محتوا فایل هایی هستند که در زمینه صفحات وب اجرا می شوند. آنها از مدل استاندارد شیء سند (DOM) برای خواندن جزئیات صفحات وب که مرورگر بازدید می کند، ایجاد تغییرات در آنها و ارسال اطلاعات به پسوند والد خود استفاده می کنند.
به برگه فعال دسترسی پیدا کنید
مجوز
"activeTab" زمانی که کاربر برنامه افزودنی را فراخوانی می کند، به عنوان مثال با کلیک بر روی عملکرد آن، به یک برنامه افزودنی دسترسی موقت به برگه فعال فعلی می دهد. دسترسی به برگه تا زمانی که کاربر در آن صفحه است ادامه مییابد و زمانی که کاربر برگه را دور میزند یا میبندد لغو میشود.
کنترل درخواست های وب
از API
browser.webNavigation browser.declarativeNetRequest ، browser.webRequest و browser.webNavigation برای browser.declarativeNetRequest ، مسدود کردن و تغییر browser.webRequest شبکه استفاده کنید.
ضبط صدا و ضبط صفحه
با رویکردهای مختلف برای ضبط صدا و تصویر از یک تب، پنجره یا صفحه نمایش با استفاده از APIهای پلتفرم وب مانند
browser.tabCapture یا getDisplayMedia() آشنا شوید. با رویکردهای مختلف برای ضبط صدا و تصویر از یک تب، پنجره یا صفحه نمایش با استفاده از APIهای پلتفرم وب مانند browser.tabCapture یا getDisplayMedia() آشنا شوید.
تنظیمات وب سایت را تغییر دهید
از API
browser.contentSettings برای کنترل اینکه آیا وبسایتها میتوانند از ویژگیهایی مانند کوکیها، browser.contentSettings اسکریپت و افزونهها استفاده کنند یا خیر، استفاده کنید. به طور کلیتر، تنظیمات محتوا به شما این امکان را میدهد که رفتار کروم را به جای سراسری، بر اساس هر سایت سفارشی کنید.
مفاهیم اصلی
با استفاده از پلتفرم وب و APIهای برنامه افزودنی میتوانید ویژگیهای پیچیدهتری را با ترکیب اجزای مختلف UI و ویژگیهای پلتفرم افزونه ایجاد کنید.
کارگران خدماتی
کارمند سرویس توسعه (service-worker.js) یک اسکریپت مبتنی بر رویداد است که مرورگر در پسزمینه اجرا میشود. اغلب برای پردازش داده ها، هماهنگ کردن وظایف در بخش های مختلف یک برنامه افزودنی و به عنوان مدیر رویداد یک برنامه افزودنی استفاده می شود.
مجوزها
مجوزها را بدانید: چگونه کار می کنند و چه زمانی از درخواست آنها در مواقعی که نیازی به آنها نیست اجتناب کنید.
فیلتر کردن محتوا
روش های مختلفی برای پیاده سازی محتوا و فیلتر شبکه در برنامه های افزودنی کروم وجود دارد. درباره قابلیتهای فیلتر کردن محتوا در دسترس برنامههای افزودنی و روشها، تکنیکها و APIهای مختلف فیلتر که میتواند توسط برنامههای افزودنی Chrome استفاده شود، بیاموزید.
پیام رسانی
بسیاری از مواقع اسکریپت های محتوا یا سایر صفحات افزونه نیاز به ارسال یا دریافت اطلاعات از کارمند خدمات افزونه دارند. در این موارد، هر طرف میتواند پیامهای ارسال شده از طرف دیگر را گوش کند و در همان کانال پاسخ دهد.
پیامرسانی بومی
برنامه های افزودنی خود را برای تبادل پیام با برنامه های بومی فعال کنید.
از کدهای میزبان از راه دور اجتناب کنید
در Manifest V3 افزونهها باید تمام کدهایی را که استفاده میکنند در داخل خود برنامه افزودنی قرار دهند. برای انجام این کار استراتژی های مختلفی وجود دارد.
Storage
برنامههای افزودنی Chrome دارای یک API اختصاصی ذخیرهسازی هستند که برای همه اجزای برنامه افزودنی در دسترس است. این شامل چهار فضای ذخیرهسازی مجزا برای موارد استفاده خاص و شنونده رویداد است که هر زمان که دادهها بهروزرسانی میشوند، ردیابی میکند.
اسناد خارج از صفحه
کارکنان خدمات دسترسی DOM ندارند. Offscreen API به برنامه افزودنی اجازه می دهد تا از API های DOM در یک سند مخفی بدون ایجاد وقفه در تجربه کاربر با باز کردن پنجره ها یا برگه های جدید استفاده کند.
جداسازی منشأ متقاطع
جداسازی منبع متقابل به یک صفحه وب امکان می دهد از ویژگی های قدرتمندی مانند
SharedArrayBuffer استفاده کند. یک برنامه افزودنی میتواند با تعیین مقادیر مناسب برای کلیدهای مانیفست "cross_origin_embedder_policy" و "cross_origin_opener_policy" از جداسازی متقاطع استفاده کند.
چرخه عمر به روز رسانی برنامه افزودنی
با نحوه جریان بهروزرسانی برنامههای افزودنی بهروزرسانیهای Chrome و نحوه نظارت بر توزیع بهروزرسانیهای برنامههای افزودنی آشنا شوید.