chrome.debugger

تاریخ بازآوری: ۲۰۲۶-۰۹-۲۵ روبات‌ها: 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

‫Chrome نسخه ۱۲۵ و بالاتر

شناسه جلسه اشکال‌زدا. یکی از tabId،‏ extensionId، یا targetId باید مشخص شود. علاوه‌براین، می‌توان یک sessionId اختیاری ارائه کرد. اگر sessionId برای آرگومان‌های ارسال‌شده از onEvent مشخص شده باشد، یعنی رویداد از جلسه پروتکل فرزند در جلسه اشکال‌زدایی ریشه می‌آید. اگر sessionId هنگام ارسال به sendCommand مشخص شده باشد، جلسه پروتکل فرزند را در جلسه اشکال‌زدایی ریشه هدف‌یابی می‌کند.

مشخصات

  • extensionId

    رشته اختیاری

    شناسه افزونه‌ای که می‌خواهید اشکال‌زدایی کنید. پیوستن به صفحه پس‌زمینه افزونه فقط زمانی امکان‌پذیر است که از کلید خط فرمان --silent-debugger-extension-api استفاده شود.

  • sessionId

    رشته اختیاری

    شناسه مبهم جلسه «پروتکل Chrome DevTools». جلسه کودک را در جلسه ریشه شناسایی‌شده توسط tabId،‏ extensionId، یا targetId شناسایی می‌کند.

  • tabId

    عدد اختیاری

    شناسه برگه‌ای که می‌خواهید اشکال‌زدایی کنید.

  • targetId

    رشته اختیاری

    شناسه مبهم هدف اشکال‌زدایی.

DetachReason

‫Chrome نسخه ۴۴ و بالاتر

دلیل فسخ اتصال.

شمارشی

"target_closed"

"canceled_by_user"

TargetInfo

اطلاعات هدف اشکال‌زدایی

مشخصات

  • پیوست‌شده

    بولی

    اگر اشکال‌زدا ازقبل پیوست شده باشد درست است.

  • extensionId

    رشته اختیاری

    شناسه افزونه، اگر نوع = «صفحه_پس‌زمینه» تعریف شده باشد.

  • faviconUrl

    رشته اختیاری

    نشانی وب نماد وب‌سایت هدف.

  • id

    رشته

    شناسه هدف.

  • tabId

    عدد اختیاری

    شناسه زبانه، اگر نوع == «صفحه» تعریف شده باشد.

  • عنوان

    رشته

    عنوان صفحه هدف.

  • نوع هدف.

  • نشانی وب

    رشته

    نشانی وب هدف.

TargetInfoType

‫Chrome نسخه ۴۴ و بالاتر

نوع هدف.

شمارشی

«صفحه»

"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 برای برگه پیوست‌شده فراخوانده می‌شود.

پارامترها

onEvent

chrome.debugger.onEvent.addListener(
  callback: function,
)

هرگاه رویداد ابزار دقیق مشکلات هدف اشکال‌زدایی راه‌اندازی شود، این رویداد اجرا می‌شود.

پارامترها

  • بازخوانی

    تابع

    پارامتر callback به‌صورت زیر است:

    (source: DebuggerSession, method: string, params?: object) => void

    • منبع
    • روش

      رشته

    • پارامترها

      شیء اختیاری