اکثر افزونهها برای عملکرد خود نیاز به دسترسی به یک یا چند API افزونههای کروم دارند. این مرجع API، APIهای موجود برای استفاده در افزونهها را شرح میدهد و مثالهایی از موارد استفاده را ارائه میدهد.
از نسخه ۱۴۴ کروم، تمام APIهای افزونههای کروم تحت فضای نام browser (مثلاً browser.tabs.create({}) ) نیز در دسترس هستند. این یک نام مستعار برای فضای نام chrome (مثلاً chrome.tabs.create({}) ) است که برای سازگاری با سایر مرورگرهایی که از فضای نام browser برای APIهای افزونه خود استفاده میکنند، ارائه شده است.
ویژگیهای API افزونههای رایج
یک API افزونهها شامل یک فضای نام است که شامل متدها و ویژگیهایی برای انجام کار افزونهها و معمولاً، اما نه همیشه، فیلدهای manifest برای فایل manifest.json است. به عنوان مثال، فضای نام chrome.action به یک شیء "action" در manifest نیاز دارد. بسیاری از APIها نیز به مجوزهایی در manifest نیاز دارند.
متدهای موجود در APIهای توسعهیافته ناهمزمان هستند، مگر اینکه خلاف آن ذکر شده باشد. متدهای ناهمزمان بلافاصله و بدون انتظار برای اتمام عملیاتی که آنها را فراخوانی میکند، برمیگردند. از promiseها برای دریافت نتایج این متدهای ناهمزمان استفاده کنید.
APIهای افزونههای کروم
- ویژگیها
از API
chrome.accessibilityFeaturesبرای مدیریت ویژگیهای دسترسی کروم استفاده کنید. این API برای دریافت و تنظیم ویژگیهای دسترسی مجزا، به نمونه اولیه ChromeSetting از نوع API متکی است. برای دریافت وضعیت ویژگیها، افزونه باید مجوزaccessibilityFeatures.readرا درخواست کند. برای تغییر وضعیت ویژگی، افزونه به مجوزaccessibilityFeatures.modifyنیاز دارد. توجه داشته باشید کهaccessibilityFeatures.modifyبه معنای مجوزaccessibilityFeatures.readنیست.- عمل
- کروم ۸۸+ نسخه ۳+
از API
chrome.actionبرای کنترل آیکون افزونه در نوار ابزار گوگل کروم استفاده کنید. - آلارم ها
از API
chrome.alarmsبرای زمانبندی کد جهت اجرا به صورت دورهای یا در زمان مشخصی در آینده استفاده کنید.- صوتی
- فقط کروم او اس نسخه ۵۹ به بالا
رابط برنامهنویسی کاربردی
chrome.audioبه کاربران اجازه میدهد تا اطلاعاتی در مورد دستگاههای صوتی متصل به سیستم دریافت کرده و آنها را کنترل کنند. این رابط برنامهنویسی کاربردی در حال حاضر فقط در حالت کیوسک برای ChromeOS در دسترس است. - بوکمارکها
از API
chrome.bookmarksبرای ایجاد، سازماندهی و دستکاری بوکمارکها استفاده کنید. همچنین به بخش Override Pages مراجعه کنید که میتوانید از آن برای ایجاد یک صفحه مدیریت بوکمارک سفارشی استفاده کنید.- مرور دادهها
از API
chrome.browsingDataبرای حذف دادههای مرور از پروفایل محلی کاربر استفاده کنید.- ارائه دهنده گواهی
- فقط کروم او اس ۴۶+
از این API برای نمایش گواهینامهها به پلتفرمی استفاده کنید که میتواند از این گواهینامهها برای احراز هویت TLS استفاده کند.
- دستورات
از API دستورات برای اضافه کردن میانبرهای صفحهکلید که اقداماتی را در افزونه شما انجام میدهند، استفاده کنید، برای مثال، اقدامی برای باز کردن مرورگر یا ارسال دستور به افزونه.
- تنظیمات محتوا
از API
chrome.contentSettingsبرای تغییر تنظیماتی که کنترل میکنند آیا وبسایتها میتوانند از ویژگیهایی مانند کوکیها، جاوا اسکریپت و افزونهها استفاده کنند یا خیر، استفاده کنید. به طور کلی، تنظیمات محتوا به شما امکان میدهد رفتار کروم را به جای سراسری، بر اساس هر سایت سفارشی کنید.- منوهای زمینه
از API
chrome.contextMenusبرای افزودن موارد به منوی زمینه گوگل کروم استفاده کنید. میتوانید انتخاب کنید که موارد اضافه شده به منوی زمینه روی چه نوع اشیایی اعمال شوند، مانند تصاویر، هایپرلینکها و صفحات.- کوکیها
از API
chrome.cookiesبرای جستجو و تغییر کوکیها و مطلع شدن از تغییرات آنها استفاده کنید.- اشکالزدا
رابط برنامهنویسی کاربردی
chrome.debuggerبه عنوان یک ابزار جایگزین برای پروتکل اشکالزدایی از راه دور کروم عمل میکند. ازchrome.debuggerبرای اتصال به یک یا چند تب به منظور بررسی تعامل شبکه، اشکالزدایی جاوا اسکریپت، تغییر DOM و CSS و موارد دیگر استفاده کنید. از ویژگیDebuggeetabIdبرای هدفگیری تبها باsendCommandو مسیریابی رویدادها توسطtabIdاز فراخوانیهایonEventاستفاده کنید.- محتوای اعلانی
از API
chrome.declarativeContentبرای انجام اقداماتی بسته به محتوای یک صفحه، بدون نیاز به مجوز برای خواندن محتوای صفحه، استفاده کنید.- اعلانی درخواست شبکه
- کروم ۸۴+
API
chrome.declarativeNetRequestبرای مسدود کردن یا تغییر درخواستهای شبکه با تعیین قوانین اعلانی استفاده میشود. این به افزونهها اجازه میدهد درخواستهای شبکه را بدون رهگیری و مشاهده محتوای آنها تغییر دهند و در نتیجه حریم خصوصی بیشتری را فراهم کنند. - ضبط دسکتاپ
رابط برنامهنویسی کاربردی (API) ضبط دسکتاپ، محتوای صفحه نمایش، پنجرههای مجزا یا تبهای مجزا را ضبط میکند.
- devtools.inspectedWindow
از API مربوط به
chrome.devtools.inspectedWindowبرای تعامل با پنجرهی بازرسیشده استفاده کنید: شناسهی برگه (tab ID) صفحهی بازرسیشده را به دست آورید، کد را در متن پنجرهی بازرسیشده ارزیابی کنید، صفحه را مجدداً بارگذاری کنید یا فهرست منابع درون صفحه را به دست آورید.- ابزار توسعه (devtools.network)
از API
chrome.devtools.networkبرای بازیابی اطلاعات مربوط به درخواستهای شبکه که توسط ابزارهای توسعهدهندگان در پنل شبکه نمایش داده میشوند، استفاده کنید.- پنلهای توسعه
از API مربوط به
chrome.devtools.panelsبرای ادغام افزونه خود در رابط کاربری پنجره ابزارهای توسعهدهندگان استفاده کنید: پنلهای خودتان را ایجاد کنید، به پنلهای موجود دسترسی پیدا کنید و سایدبارها را اضافه کنید.- ابزارهای توسعه.عملکرد
- کروم ۱۲۹+
از API
chrome.devtools.performanceبرای گوش دادن به بهروزرسانیهای وضعیت ضبط در پنل Performance در DevTools استفاده کنید. - ضبطکننده ابزار توسعه
- کروم ۱۰۵+
برای سفارشیسازی پنل ضبطکننده در DevTools از API
chrome.devtools.recorderاستفاده کنید. - دیاناس
- کانال توسعهدهندگان
برای حل مشکل DNS از API
chrome.dnsاستفاده کنید. - اسکن سند
- فقط کروم او اس ۴۴+
از API
chrome.documentScanبرای کشف و بازیابی تصاویر از اسکنرهای اسناد پیوست شده استفاده کنید. - دام
- کروم ۸۸+
از API
chrome.domبرای دسترسی به APIهای ویژه DOM برای افزونهها استفاده کنید. - دانلودها
از API مربوط به
chrome.downloadsبرای شروع، نظارت، دستکاری و جستجوی دانلودها به صورت برنامهنویسی شده استفاده کنید.- ویژگیهای دستگاه سازمانی
از API مربوط به
chrome.enterprise.deviceAttributesبرای خواندن ویژگیهای دستگاه استفاده کنید. توجه: این API فقط برای افزونههایی که طبق سیاست سازمانی به زور نصب شدهاند، در دسترس است.- پلتفرم سختافزار سازمانی
- کروم ۷۱+ نیاز به خطمشی دارد
از API مربوط به
chrome.enterprise.hardwarePlatformبرای دریافت سازنده و مدل پلتفرم سختافزاری که مرورگر روی آن اجرا میشود، استفاده کنید. توجه: این API فقط برای افزونههایی که توسط سیاستهای سازمانی نصب شدهاند، در دسترس است. - ورود به سیستم سازمانی
برای خروج از جلسات مهمان مدیریتشده از API مربوط به
chrome.enterprise.loginاستفاده کنید. توجه: این API فقط برای افزونههایی که توسط خطمشی سازمانی در جلسات مهمان مدیریتشده ChromeOS نصب شدهاند، در دسترس است.- ویژگیهای شبکه سازمانی
از API مربوط به
chrome.enterprise.networkingAttributesبرای خواندن اطلاعات مربوط به شبکه فعلی خود استفاده کنید. توجه: این API فقط برای افزونههایی که طبق سیاست سازمانی به زور نصب شدهاند، در دسترس است.- کلیدهای پلتفرم سازمانی
- فقط ChromeOS نیاز به خطمشی دارد
از API
chrome.enterprise.platformKeysبرای تولید کلیدها و نصب گواهینامهها برای این کلیدها استفاده کنید. گواهینامهها توسط پلتفرم مدیریت میشوند و میتوانند برای احراز هویت TLS، دسترسی به شبکه یا سایر افزونهها از طریق chrome.platformKeys مورد استفاده قرار گیرند. - رویدادها
فضای نام
chrome.eventsشامل انواع دادههای رایجی است که توسط APIها برای ارسال رویدادها استفاده میشوند تا هنگام وقوع اتفاق جالبی به شما اطلاع دهند.- پسوند
API
chrome.extensionدارای ابزارهایی است که میتواند توسط هر صفحه افزونهای مورد استفاده قرار گیرد. این API شامل پشتیبانی از تبادل پیام بین یک افزونه و اسکریپتهای محتوای آن یا بین افزونهها است، همانطور که به تفصیل در بخش «انتقال پیام» توضیح داده شده است.- انواع افزونه
API
chrome.extensionTypesشامل اعلانهای نوع برای افزونههای کروم است.- مدیریت کننده فایل مرورگر
- فقط سیستم عامل کروم فقط در پیشزمینه
از API مربوط به
chrome.fileBrowserHandlerبرای گسترش مرورگر فایل سیستم عامل کروم استفاده کنید. برای مثال، میتوانید از این API برای فعال کردن امکان آپلود فایل توسط کاربران در وبسایت خود استفاده کنید. - ارائه دهنده سیستم فایل
- فقط سیستم عامل کروم
از API مربوط به
chrome.fileSystemProviderبرای ایجاد سیستمهای فایلی استفاده کنید که از طریق مدیریت فایل در سیستمعامل کروم قابل دسترسی باشند. - تنظیمات فونت
برای مدیریت تنظیمات فونت کروم از API مربوط به
chrome.fontSettingsاستفاده کنید.- جی سی ام
chrome.gcmبرای فعال کردن ارسال و دریافت پیامها از طریق Firebase Cloud Messaging (FCM) برای برنامهها و افزونهها استفاده کنید.- تاریخ
از API
chrome.historyبرای تعامل با سابقه صفحات بازدید شده مرورگر استفاده کنید. میتوانید URLها را در تاریخچه مرورگر اضافه، حذف و جستجو کنید. برای لغو صفحه تاریخچه با نسخه خودتان، به بخش لغو صفحات مراجعه کنید.- آی۱۸ان
از زیرساخت
chrome.i18nبرای پیادهسازی بینالمللیسازی در کل برنامه یا افزونه خود استفاده کنید.- هویت
برای دریافت توکنهای دسترسی OAuth2 از API
chrome.identityاستفاده کنید.- بیکار
از API
chrome.idleبرای تشخیص زمان تغییر حالت بیکاری دستگاه استفاده کنید.- زمان ورودی
- فقط سیستم عامل کروم
از API مربوط به
chrome.input.imeبرای پیادهسازی یک IME سفارشی برای سیستمعامل کروم استفاده کنید. این به افزونه شما اجازه میدهد تا ضربات کلید را مدیریت کند، ترکیببندی را تنظیم کند و پنجره کاندید را مدیریت کند. - شناسه نمونه
- کروم ۴۴+
برای دسترسی به سرویس Instance ID
chrome.instanceIDاستفاده کنید. - وضعیت ورود
- فقط کروم ۷۸+ (سیستم عامل کروم)
از API
chrome.loginStateبرای خواندن و نظارت بر وضعیت ورود به سیستم استفاده کنید. - مدیریت
رابط برنامهنویسی کاربردی
chrome.managementروشهایی برای مدیریت برنامهها و افزونههای نصبشده ارائه میدهد.- اعلانها
از API
chrome.notificationsبرای ایجاد اعلانهای غنی با استفاده از قالبها استفاده کنید و این اعلانها را در سینی سیستم به کاربران نشان دهید.- خارج از صفحه
- کروم ۱۰۹+ نسخه ۳+
از API
offscreenبرای ایجاد و مدیریت اسناد خارج از صفحه استفاده کنید. - امنیباکس
رابط برنامهنویسی کاربردی omnibox به شما امکان میدهد یک کلمه کلیدی را در نوار آدرس گوگل کروم ثبت کنید، که به عنوان omnibox نیز شناخته میشود.
- ضبط صفحه
از API
chrome.pageCaptureبرای ذخیره یک تب به عنوان MHTML استفاده کنید.- مجوزها
از API
chrome.permissionsبرای درخواست مجوزهای اختیاری اعلامشده در زمان اجرا به جای زمان نصب استفاده کنید، تا کاربران دلیل نیاز به مجوزها را درک کرده و فقط مجوزهای ضروری را اعطا کنند.- کلیدهای پلتفرم
- فقط کروم ۴۵+ سیستم عامل کروم
از API مربوط به
chrome.platformKeysبرای دسترسی به گواهینامههای کلاینت مدیریتشده توسط پلتفرم استفاده کنید. اگر کاربر یا سیاست مربوطه این مجوز را اعطا کند، یک افزونه میتواند از چنین گواهینامهای در پروتکل احراز هویت سفارشی خود استفاده کند. به عنوان مثال، این امر امکان استفاده از گواهینامههای مدیریتشده توسط پلتفرم را در VPNهای شخص ثالث فراهم میکند (به chrome.vpnProvider مراجعه کنید). - قدرت
از API
chrome.powerبرای لغو ویژگیهای مدیریت انرژی سیستم استفاده کنید.- ارائه دهنده چاپگر
- کروم ۴۴+
رابط برنامهنویسی کاربردی
chrome.printerProviderرویدادهایی را که توسط مدیر چاپ استفاده میشوند، در اختیار قرار میدهد تا چاپگرهای کنترلشده توسط افزونهها را جستجو کند، قابلیتهای آنها را جستجو کند و کارهای چاپ را به این چاپگرها ارسال کند. - چاپ
- فقط کروم او اس نسخه ۸۱ به بالا
از API
chrome.printingبرای ارسال کارهای چاپ به چاپگرهای نصب شده روی Chromebook استفاده کنید. - معیارهای چاپ
از API
chrome.printingMetricsبرای دریافت دادههای مربوط به میزان استفاده از چاپ استفاده کنید.- حریم خصوصی
از API
chrome.privacyبرای کنترل استفاده از ویژگیهایی در کروم که میتوانند بر حریم خصوصی کاربر تأثیر بگذارند، استفاده کنید. این API برای دریافت و تنظیم پیکربندی کروم، به نمونه اولیه ChromeSetting از نوع API متکی است.- فرآیندها
- کانال توسعهدهندگان
از API
chrome.processesبرای تعامل با فرآیندهای مرورگر استفاده کنید. - پروکسی
از API
chrome.proxyبرای مدیریت تنظیمات پروکسی کروم استفاده کنید. این API برای دریافت و تنظیم پیکربندی پروکسی به نمونه اولیه ChromeSetting از نوع API متکی است.- فهرست خواندنیها
- کروم ۱۲۰+ نسخه ۳+
از API مربوط به
chrome.readingListبرای خواندن و تغییر موارد موجود در Reading List استفاده کنید. - زمان اجرا
از API
chrome.runtimeبرای بازیابی سرویس ورکر، بازگرداندن جزئیات مربوط به مانیفست و گوش دادن به رویدادها و پاسخ دادن به آنها در چرخه حیات افزونه استفاده کنید. همچنین میتوانید از این API برای تبدیل مسیر نسبی URLها به URLهای کاملاً واجد شرایط استفاده کنید.- اسکریپت نویسی
- کروم ۸۸+ نسخه ۳+
از API
chrome.scriptingبرای اجرای اسکریپت در زمینههای مختلف استفاده کنید. - جستجو
- کروم ۸۷+
از API
chrome.searchبرای جستجو از طریق ارائهدهندهی پیشفرض استفاده کنید. - جلسات
از API مربوط به
chrome.sessionsبرای پرسوجو و بازیابی تبها و پنجرهها از یک جلسه مرور استفاده کنید.- پنل کناری
- کروم ۱۱۴+ نسخه MV3+
از API
chrome.sidePanelبرای میزبانی محتوا در پنل کناری مرورگر در کنار محتوای اصلی یک صفحه وب استفاده کنید. - ذخیرهسازی
از API
chrome.storageبرای ذخیره، بازیابی و پیگیری تغییرات دادههای کاربر استفاده کنید.- سیستم.پردازنده
از API
system.cpuبرای جستجوی فرادادههای CPU استفاده کنید.- سیستم.نمایشگر
از API
system.displayبرای جستجوی فرادادههای نمایش استفاده کنید.- حافظه سیستم
رابط برنامهنویسی کاربردی (API) مربوط به
chrome.system.memory).- سیستم.ذخیرهسازی
از API مربوط به
chrome.system.storageبرای جستجوی اطلاعات دستگاه ذخیرهسازی استفاده کنید و هنگام اتصال و جدا شدن یک دستگاه ذخیرهسازی قابل جابجایی، مطلع شوید.- سیستم لاگ
از API
chrome.systemLogبرای ثبت گزارشهای سیستم کروم از افزونهها استفاده کنید.- ضبط تب
از API
chrome.tabCaptureبرای تعامل با جریانهای رسانهای تب استفاده کنید.- تبها
- کروم ۸۹+ نسخه ۳+
از API مربوط به
chrome.tabGroupsبرای تعامل با سیستم گروهبندی تبهای مرورگر استفاده کنید. میتوانید از این API برای تغییر و تنظیم مجدد گروههای تب در مرورگر استفاده کنید. برای گروهبندی و خارج کردن تبها از گروهبندی، یا برای پرسوجو در مورد اینکه چه تبهایی در گروهها قرار دارند، از APIchrome.tabsاستفاده کنید. - زبانهها
از API
chrome.tabsبرای تعامل با سیستم تبهای مرورگر استفاده کنید. میتوانید از این API برای ایجاد، تغییر و تنظیم مجدد تبها در مرورگر استفاده کنید.- سایتهای برتر
از API مربوط به
chrome.topSitesبرای دسترسی به برترین سایتها (یعنی سایتهای پربازدید) که در صفحه تب جدید نمایش داده میشوند، استفاده کنید. این موارد شامل میانبرهای سفارشیسازیشده توسط کاربر نمیشوند.- تی تی اس
از API
chrome.ttsبرای پخش متن به گفتار ترکیبی (TTS) استفاده کنید. همچنین به API مربوط بهttsEngineمراجعه کنید که به یک افزونه اجازه میدهد یک موتور گفتار پیادهسازی کند.- موتور tts
از API
chrome.ttsEngineبرای پیادهسازی یک موتور تبدیل متن به گفتار (TTS) با استفاده از یک افزونه استفاده کنید. اگر افزونه شما با استفاده از این API ثبت شود، رویدادهایی حاوی یک جمله برای گفتن و پارامترهای دیگر را دریافت میکند، زمانی که هر افزونه یا برنامه Chrome از APIttsبرای تولید گفتار استفاده میکند. افزونه شما سپس میتواند از هر فناوری وب موجود برای ترکیب و خروجی گفتار استفاده کند و رویدادها را به تابع فراخوانی کننده ارسال کند تا وضعیت را گزارش دهد.- انواع
API
chrome.typesشامل اعلانهای نوع برای کروم است.- اسکریپتهای کاربر
- کروم ۱۲۰+ نسخه ۳+
از رابط برنامهنویسی کاربردی
userScriptsبرای اجرای اسکریپتهای کاربر در چارچوب User Scripts استفاده کنید. - ارائه دهنده vpn
- فقط کروم ۴۳+ (سیستم عامل کروم)
برای پیادهسازی یک کلاینت VPN از API
chrome.vpnProviderاستفاده کنید. - کاغذ دیواری
- فقط کروم ۴۳+ (سیستم عامل کروم)
برای تغییر تصویر زمینه ChromeOS از API
chrome.wallpaperاستفاده کنید. - پروکسی احراز هویت وب
- کروم ۱۱۵+ نسخه MV3+
رابط برنامهنویسی کاربردی
chrome.webAuthenticationProxyبه نرمافزارهای دسکتاپ از راه دور که روی یک میزبان از راه دور اجرا میشوند، اجازه میدهد تا درخواستهای رابط برنامهنویسی کاربردی احراز هویت وب (WebAuthn) را رهگیری کرده و آنها را در یک کلاینت محلی مدیریت کنند. - ناوبری وب
از API
chrome.webNavigationبرای دریافت اعلانها در مورد وضعیت درخواستهای ناوبری در حین پرواز استفاده کنید.- درخواست وب
از API
chrome.webRequestبرای مشاهده و تحلیل ترافیک و رهگیری، مسدود کردن یا تغییر درخواستها در حین ارسال استفاده کنید.- پنجرهها
از API مربوط به
chrome.windowsبرای تعامل با پنجرههای مرورگر استفاده کنید. میتوانید از این API برای ایجاد، تغییر و تنظیم مجدد پنجرهها در مرورگر استفاده کنید.