شرح
chrome.management API روشهایی برای مدیریت برنامهها و افزونههای نصبشده ارائه میدهد.
اجازهها
managementبرای استفاده از API مدیریت، باید اجازه «مدیریت» را در مانیفست افزونه اعلام کنید. برای مثال:
{
"name": "My extension",
...
"permissions": [
"management"
],
...
}
management.getPermissionWarningsByManifest()، management.uninstallSelf()، و
management.getSelf() به اجازه مدیریت نیاز ندارند.
انواع
ExtensionDisabledReason
دلیلی که مورد غیرفعال شده است.
شمارشی
«unknown»
"permissions_increase"
ExtensionInfo
اطلاعات مربوط به افزونه، برنامه، یا زمینه نصبشده.
مشخصات
-
appLaunchUrl
رشته اختیاری
نشانی وب راهاندازی (فقط برای برنامهها وجود دارد).
-
availableLaunchTypes
LaunchType[] اختیاری
انواع راهاندازی دردسترس فعلی (فقط برای برنامهها وجود دارد).
-
description
رشته
شرح این افزونه، برنامه، یا طرح زمینه.
-
disabledReason
ExtensionDisabledReason اختیاری
دلیلی که مورد غیرفعال شده است.
-
فعال شد
بولی
درحالحاضر فعال یا غیرفعال است.
-
homepageUrl
رشته اختیاری
نشانی وب صفحه اصلی این افزونه، برنامه، یا طرح زمینه.
-
hostPermissions
string[]
فهرستی از اجازههای مبتنی بر میزبان را برمیگرداند.
-
نمادها
IconInfo[] اختیاری
فهرستی از اطلاعات نماد. توجه داشته باشید که این فقط نشاندهنده آنچه در مانیفست اعلام شده است میباشد و تصویر واقعی در آن نشانی وب ممکن است بزرگتر یا کوچکتر از آنچه اعلام شده باشد، بنابراین میتوانید از ویژگیهای صریح عرض و ارتفاع در برچسبهای img که به این تصاویر ارجاع میدهند استفاده کنید. برای جزئیات بیشتر، مستندات مانیفست درباره نمادها را ببینید.
-
id
رشته
شناسه یکتای افزونه.
-
installType
افزونه چگونه نصب شده است.
-
isApp
بولی
منسوخشدهلطفاً از
management.ExtensionInfo.typeاستفاده کنید.اگر این برنامه باشد، درست است.
-
launchType
LaunchType اختیاری
نوع راهاندازی برنامه (فقط برای برنامهها وجود دارد).
-
mayDisable
بولی
اینکه آیا این افزونه میتواند توسط کاربر غیرفعال یا حذف نصب شود یا نه.
-
mayEnable
بولی اختیاری
Chrome نسخه ۶۲ و بالاتر browser.* از Chrome نسخه ۱۴۸ بهبعدآیا این افزونه میتواند توسط کاربر فعال شود یا نه. این فقط برای افزونههایی که فعال نیستند برگردانده میشود.
-
نام
رشته
نام این افزونه، برنامه، یا طرح زمینه.
-
offlineEnabled
بولی
اینکه افزونه، برنامه، یا زمینه اعلام کند که از حالت آفلاین پشتیبانی میکند.
-
optionsUrl
رشته
نشانی وب صفحه گزینههای مورد، درصورت وجود.
-
اجازهها
string[]
فهرستی از اجازههای مبتنی بر میانای برنامهسازی کاربردی را برمیگرداند.
-
shortName
رشته
نسخه کوتاهی از نام این افزونه، برنامه، یا زمینه.
-
نوع
نوع این افزونه، برنامه، یا طرح زمینه.
-
updateUrl
رشته اختیاری
نشانی وب بهروزرسانی این افزونه، برنامه، یا طرح زمینه.
-
نسخه
رشته
نسخه این افزونه، برنامه، یا طرح زمینه.
-
versionName
رشته اختیاری
Chrome 50+ browser.* از Chrome 148نام نسخه این افزونه، برنامه، یا زمینه، اگر مانیفست آن را مشخص کرده باشد.
ExtensionInstallType
افزونه چگونه نصب شده است. یکی از موارد زیر:
admin: افزونه بهدلیل خطمشی مدیریتی نصب شده است،
development: افزونه بهصورت غیرفشرده در حالت توسعهدهنده بار شده است،
normal: افزونه بهصورت عادی ازطریق فایل crx .نصب شده است،
sideload: افزونه توسط نرمافزار دیگری در دستگاه نصب شده است،
other: افزونه ازطریق روش دیگری نصب شده است.
شمارشی
"admin"
«توسعه»
«عادی»
«بارگذاری جانبی»
«دیگر»
ExtensionType
نوع این افزونه، برنامه، یا طرح زمینه.
شمارشی
«افزونه»
"hosted_app"
"packaged_app"
"legacy_packaged_app"
"theme"
"login_screen_extension"
IconInfo
اطلاعات مربوط به نمادی که به افزونه، برنامه، یا زمینهای تعلق دارد.
مشخصات
-
اندازه
شماره
عددی که نشاندهنده عرض و ارتفاع نماد است. مقادیر احتمالی شامل (اما نه محدود به) ۱۲۸، ۴۸، ۲۴، و ۱۶ است.
-
نشانی وب
رشته
نشانی وب این تصویر نماد. برای نمایش نسخه خاکستری نماد (مثلاً برای نشان دادن اینکه افزونه غیرفعال است)،
?grayscale=trueرا به نشانی وب اضافه کنید.
LaunchType
اینها همه انواع ممکن راهاندازی برنامه هستند.
شمارشی
"OPEN_AS_REGULAR_TAB"
"OPEN_AS_PINNED_TAB"
«OPEN_AS_WINDOW»
"OPEN_FULL_SCREEN"
UninstallOptions
گزینههایی برای نحوه مدیریت حذف نصب افزونه.
مشخصات
-
showConfirmDialog
بولی اختیاری
آیا کادر گفتگوی تأیید حذف نصب باید به کاربر نشان داده شود یا نه. برای حذف نصبهای خودکار، بهطور پیشفرض روی نادرست تنظیم شده است. اگر افزونهای افزونه دیگری را حذف نصب کند، این پارامتر نادیده گرفته میشود و کادر گفتگو همیشه نشان داده میشود.
روشها
createAppShortcut()
browser.management.createAppShortcut(
id: string,
): Promise<void>
گزینههایی را برای ایجاد میانبر برای برنامه نمایش میدهد. در Mac، فقط میانبرهای برنامه بستهبندیشده را میتوان ایجاد کرد.
پارامترها
-
id
رشته
این باید شناسه موردی از برنامه
management.ExtensionInfoباشد.
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
generateAppForLink()
browser.management.generateAppForLink(
url: string,
title: string,
): Promise<ExtensionInfo>
برنامهای برای نشانی وب تولید کنید. برنامه نشانک تولیدشده را برمیگرداند.
پارامترها
-
نشانی وب
رشته
نشانی وب صفحه وب. طرح نشانی وب فقط میتواند «http» یا «https» باشد.
-
عنوان
رشته
عنوان برنامه تولیدشده.
بازگشتیها
-
Promise<ExtensionInfo>
Chrome 88+ browser.* از Chrome 148
get()
browser.management.get(
id: string,
): Promise<ExtensionInfo>
اطلاعات مربوط به افزونه، برنامه، یا زمینه نصبشدهای را که شناسه دادهشده را دارد برمیگرداند.
پارامترها
-
id
رشته
شناسه از موردی از
management.ExtensionInfo.
بازگشتیها
-
Promise<ExtensionInfo>
Chrome 88+ browser.* از Chrome 148
getAll()
browser.management.getAll(): Promise<ExtensionInfo[]>
فهرستی از اطلاعات مربوط به افزونهها و برنامههای نصبشده را برمیگرداند.
بازگشتیها
-
Promise<ExtensionInfo[]>
Chrome 88+ browser.* از Chrome 148
getPermissionWarningsById()
browser.management.getPermissionWarningsById(
id: string,
): Promise<string[]>
فهرستی از هشدارهای اجازه برای شناسه افزونه دادهشده برمیگرداند.
پارامترها
-
id
رشته
شناسه افزونهای که قبلاً نصب شده است.
بازگشتیها
-
Promise<string[]>
Chrome 88+ browser.* از Chrome 148
getPermissionWarningsByManifest()
browser.management.getPermissionWarningsByManifest(
manifestStr: string,
): Promise<string[]>
فهرستی از هشدارهای اجازه را برای رشته مانیفست افزونه دادهشده برمیگرداند. توجه: از این تابع میتوان بدون درخواست اجازه «مدیریت» در مانیفست استفاده کرد.
پارامترها
-
manifestStr
رشته
رشته JSON مانیفست افزونه.
بازگشتیها
-
Promise<string[]>
Chrome 88+ browser.* از Chrome 148
getSelf()
browser.management.getSelf(): Promise<ExtensionInfo>
اطلاعات مربوط به افزونه، برنامه، یا زمینه فراخواننده را برمیگرداند. توجه: از این تابع میتوان بدون درخواست اجازه «مدیریت» در مانیفست استفاده کرد.
بازگشتیها
-
Promise<ExtensionInfo>
Chrome 88+ browser.* از Chrome 148
installReplacementWebApp()
browser.management.installReplacementWebApp(): Promise<void>
replacement_web_app مشخصشده در مانیفست را راهاندازی میکند. اگر برنامه ازقبل نصب نشده باشد، از کاربر درخواست میکند آن را نصب کند.
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
launchApp()
browser.management.launchApp(
id: string,
): Promise<void>
برنامهای را راهاندازی میکند.
پارامترها
-
id
رشته
شناسه افزونه برنامه.
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
setEnabled()
browser.management.setEnabled(
id: string,
enabled: boolean,
): Promise<void>
برنامه یا افزونهای را فعال یا غیرفعال میکند. در بیشتر موارد، این تابع باید در زمینه اشاره کاربر (مثلاً کنترلکننده onclick برای دکمه) فراخوانی شود و ممکن است برای جلوگیری از سوءاستفاده، واسط کاربر تأیید بومی به کاربر ارائه دهد.
پارامترها
-
id
رشته
این باید شناسه موردی از
management.ExtensionInfoباشد. -
فعال شد
بولی
اینکه این مورد باید فعال باشد یا غیرفعال.
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
setLaunchType()
browser.management.setLaunchType(
id: string,
launchType: LaunchType,
): Promise<void>
نوع راهاندازی برنامه را تنظیم کنید.
پارامترها
-
id
رشته
این باید شناسه موردی از برنامه
management.ExtensionInfoباشد. -
launchType
نوع راهاندازی هدف. همیشه بررسی کنید و مطمئن شوید که این نوع راهاندازی در
ExtensionInfo.availableLaunchTypesباشد، زیرا انواع راهاندازی دردسترس در پلاتفرمها و پیکربندیهای مختلف متفاوت است.
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
uninstall()
browser.management.uninstall(
id: string,
options?: UninstallOptions,
): Promise<void>
برنامه یا افزونهای را که درحالحاضر نصب شده است حذف نصب میکند. توجه: این عملکرد در محیطهای مدیریتشده که کاربر مجاز به حذف نصب افزونه/ برنامه مشخصشده نیست کار نمیکند. اگر حذف نصب ناموفق باشد (مثلاً کاربر کادر گفتگو را لغو کند)، وعده رد خواهد شد یا فراخوانی با تنظیم runtime.lastError فراخوانده خواهد شد.
پارامترها
-
id
رشته
این باید شناسه موردی از
management.ExtensionInfoباشد. -
گزینهها
UninstallOptions اختیاری
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
uninstallSelf()
browser.management.uninstallSelf(
options?: UninstallOptions,
): Promise<void>
افزونه تماس را حذف نصب میکند. توجه: از این تابع میتوان بدون درخواست اجازه «مدیریت» در مانیفست استفاده کرد. این عملکرد در محیطهای مدیریتشده که کاربر مجاز به حذف نصب افزونه/برنامه مشخصشده نیست کار نمیکند.
پارامترها
-
گزینهها
UninstallOptions اختیاری
بازگشتیها
-
Promise<void>
Chrome 88+ browser.* از Chrome 148
رویدادها
onDisabled
browser.management.onDisabled.addListener(
callback: function,
)
وقتی برنامه یا افزونهای غیرفعال شده باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(info: ExtensionInfo) => void
-
اطلاعات
-
onEnabled
browser.management.onEnabled.addListener(
callback: function,
)
وقتی برنامه یا افزونهای فعال شده باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(info: ExtensionInfo) => void
-
اطلاعات
-
onInstalled
browser.management.onInstalled.addListener(
callback: function,
)
وقتی برنامه یا افزونهای نصب شده باشد، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(info: ExtensionInfo) => void
-
اطلاعات
-
onUninstalled
browser.management.onUninstalled.addListener(
callback: function,
)
وقتی برنامه یا افزونهای حذف نصب میشود، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(id: string) => void
-
id
رشته
-