تاریخ بازآوری: ۲۰۲۶-۰۹-۲۵ روباتها: noindex
شرح
API chrome.debugger بهعنوان انتقال جایگزین برای پروتکل اشکالزدایی از دور Chrome عمل میکند. از chrome.debugger برای پیوستن به یک یا چند برگه برای ابزاربندی تعامل شبکه، اشکالزدایی جاوا اسکریپت، جهش DOM و CSS، و غیره استفاده کنید. از دارایی Debuggee tabId برای هدفیابی برگهها با sendCommand و مسیریابی رویدادها براساس tabId از onEvent پادзвоن استفاده کنید.
اجازهها
debuggerیادداشت امنیتی
بهدلایل امنیتی، «میانای برنامهسازی کاربردی» chrome.debugger دسترسی به همه «حوزههای پروتکل» Chrome DevTools را فراهم نمیکند. دامنههای دردسترس عبارتاند از: دسترسیپذیری،
ممیزیها، CacheStorage، Console،
CSS، Database، Debugger، DOM،
DOMDebugger، DOMSnapshot،
Emulation، Fetch، IO، Input،
Inspector، Log، Network، Overlay،
Page، Performance،
Runtime، Storage، Target، Tracing،
WebAudio، و WebAuthn.
مانیفست
برای استفاده از این «میانای برنامهسازی کاربردی»، باید اجازه "debugger" را در مانیفست افزونهتان اعلام کنید.
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
مثالها
برای امتحان کردن این «میانای برنامهسازی کاربردی»، نمونه میانای برنامهسازی کاربردی اشکالزدا را از مخزن chrome-extension-samples نصب کنید.
انواع
Debuggee
شناسه اشکالزداییشونده. باید tabId، extensionId، یا targetId مشخص شود
مشخصات
-
extensionId
رشته اختیاری
شناسه افزونهای که میخواهید اشکالزدایی کنید. پیوستن به صفحه پسزمینه افزونه فقط زمانی امکانپذیر است که از کلید خط فرمان
--silent-debugger-extension-apiاستفاده شود. -
tabId
عدد اختیاری
شناسه برگهای که میخواهید اشکالزدایی کنید.
-
targetId
رشته اختیاری
شناسه مبهم هدف اشکالزدایی.
DebuggerSession
شناسه جلسه اشکالزدا. یکی از tabId، extensionId، یا targetId باید مشخص شود. علاوهبراین، میتوان یک sessionId اختیاری ارائه کرد. اگر sessionId برای آرگومانهای ارسالشده از onEvent مشخص شده باشد، یعنی رویداد از جلسه پروتکل فرزند در جلسه اشکالزدایی ریشه میآید. اگر sessionId هنگام ارسال به sendCommand مشخص شده باشد، جلسه پروتکل فرزند را در جلسه اشکالزدایی ریشه هدفیابی میکند.
مشخصات
-
extensionId
رشته اختیاری
شناسه افزونهای که میخواهید اشکالزدایی کنید. پیوستن به صفحه پسزمینه افزونه فقط زمانی امکانپذیر است که از کلید خط فرمان
--silent-debugger-extension-apiاستفاده شود. -
sessionId
رشته اختیاری
شناسه مبهم جلسه «پروتکل Chrome DevTools». جلسه کودک را در جلسه ریشه شناساییشده توسط tabId، extensionId، یا targetId شناسایی میکند.
-
tabId
عدد اختیاری
شناسه برگهای که میخواهید اشکالزدایی کنید.
-
targetId
رشته اختیاری
شناسه مبهم هدف اشکالزدایی.
DetachReason
دلیل فسخ اتصال.
شمارشی
"target_closed"
"canceled_by_user"
TargetInfo
اطلاعات هدف اشکالزدایی
مشخصات
-
پیوستشده
بولی
اگر اشکالزدا ازقبل پیوست شده باشد درست است.
-
extensionId
رشته اختیاری
شناسه افزونه، اگر نوع = «صفحه_پسزمینه» تعریف شده باشد.
-
faviconUrl
رشته اختیاری
نشانی وب نماد وبسایت هدف.
-
id
رشته
شناسه هدف.
-
tabId
عدد اختیاری
شناسه زبانه، اگر نوع == «صفحه» تعریف شده باشد.
-
عنوان
رشته
عنوان صفحه هدف.
-
نوع
نوع هدف.
-
نشانی وب
رشته
نشانی وب هدف.
TargetInfoType
نوع هدف.
شمارشی
«صفحه»
"background_page"
«کارگر»
«دیگر»
روشها
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
اشکالزدا را به هدف دادهشده پیوست میکند.
پارامترها
-
هدف
هدف اشکالزدایی که میخواهید به آن پیوست کنید.
-
requiredVersion
رشته
نسخه پروتکل اشکالزدایی الزامی («۰.۱»). فقط میتوان با نسخه اصلی منطبق و نسخه جزئی بزرگتر یا مساوی به اشکالزداییشونده پیوست کرد. فهرست نسخههای پروتکل را میتوانید اینجا دریافت کنید.
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتروقتی عملیات پیوست موفق یا ناموفق باشد، مشکل برطرف میشود. وعده بدون مقدار حل میشود. اگر پیوست ناموفق باشد، قول رد خواهد شد.
وعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
اشکالزدا را از هدف دادهشده جدا میکند.
پارامترها
-
هدف
هدف اشکالزدایی که میخواهید از آن جدا شوید.
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:() => void
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتروقتی عملیات جدا کردن موفق یا ناموفق باشد، برطرف میشود. وعده بدون مقدار حل میشود. اگر جدا کردن ناموفق باشد، وعده رد خواهد شد.
وعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
فهرست هدفهای اشکالزدایی دردسترس را برمیگرداند.
پارامترها
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(result: TargetInfo[]) => void
-
نتیجه
آرایهای از اشیا TargetInfo مربوط به هدفهای اشکالزدایی دردسترس.
-
بازگشتیها
-
Promise<TargetInfo[]>
Chrome نسخه ۹۶ و بالاتروعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
فرمان دادهشده را به هدف اشکالزدایی ارسال میکند.
پارامترها
-
هدف
هدف اشکالزدایی که میخواهید فرمان را به آن ارسال کنید.
-
روش
رشته
نام روش. باید یکی از روشهای تعریفشده توسط پروتکل اشکالزدایی از دور باشد.
-
commandParams
شیء اختیاری
شیء JSON با پارامترهای درخواست. این شیء باید با طرحواره پارامترهای اشکالزدایی از دور برای روش دادهشده مطابقت داشته باشد.
-
بازخوانی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(result?: object) => void
-
نتیجه
شیء اختیاری
شیء JSON با پاسخ. ساختار پاسخ بسته به نام روش متفاوت است و توسط مشخصه «برمیگرداند» در شرح فرمان در پروتکل اشکالزدایی از دور تعریف میشود.
-
بازگشتیها
-
Promise<object | undefined>
Chrome نسخه ۹۶ و بالاترمتن پاسخ. اگر هنگام پست کردن پیام خطایی رخ دهد، قول رد خواهد شد.
وعدهها فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشوند، پلاتفرمهای دیگر باید از «بازخوانها» استفاده کنند.
رویدادها
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
وقتی مرورگر جلسه اشکالزدایی برگه را خاتمه میدهد، این رویداد راهاندازی میشود. این اتفاق زمانی روی میدهد که یا برگه بسته میشود یا Chrome DevTools برای برگه پیوستشده فراخوانده میشود.
پارامترها
-
بازخوانی
تابع
پارامتر
callbackبهصورت زیر است:(source: Debuggee, reason: DetachReason) => void
-
منبع
-
دلیل
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
هرگاه رویداد ابزار دقیق مشکلات هدف اشکالزدایی راهاندازی شود، این رویداد اجرا میشود.
پارامترها
-
بازخوانی
تابع
پارامتر
callbackبهصورت زیر است:(source: DebuggerSession, method: string, params?: object) => void
-
منبع
-
روش
رشته
-
پارامترها
شیء اختیاری
-