chrome.debugger

বর্ণনা

chrome.debugger API Chrome এর দূরবর্তী ডিবাগিং প্রোটোকলের জন্য একটি বিকল্প পরিবহন হিসাবে কাজ করে৷ ইন্সট্রুমেন্ট নেটওয়ার্ক ইন্টারঅ্যাকশনে এক বা একাধিক ট্যাব সংযুক্ত করতে chrome.debugger ব্যবহার করুন, JavaScript ডিবাগ করুন, DOM এবং CSS পরিবর্তন করুন, ইত্যাদি। sendCommand সহ ট্যাবগুলিকে টার্গেট করতে Debuggee tabId ব্যবহার করুন এবং oneEvent কলব্যাক থেকে tabId দ্বারা ইভেন্টগুলিকে রুট করুন৷

অনুমতি

debugger

এই API ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার এক্সটেনশনের ম্যানিফেস্টে "debugger" ` অনুমতি ঘোষণা করতে হবে৷

{
  "name": "My extension",
  ...
  "permissions": [
    "debugger",
  ],
  ...
}

বিঃদ্রঃ

নিরাপত্তার কারণে, chrome.debugger API সমস্ত Chrome DevTools প্রোটোকল ডোমেনে অ্যাক্সেস প্রদান করে না। উপলব্ধ ডোমেনগুলি হল: অ্যাক্সেসিবিলিটি , অডিট , ক্যাশেস্টোরেজ , কনসোল , CSS , ডেটাবেস , ডিবাগার , DOM , DOMDebugger , DOMSnapshot , Emulation , Fetch , IO , Input , Inspector , Log , Network , Overlay , Perform , Spage , Runtor , Protor , টার্গেট , ট্রেসিং , WebAudio , এবং WebAuthn

উদাহরণ

এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে ডিবাগার API উদাহরণটি ইনস্টল করুন।

প্রকারভেদ

Debuggee

ডিবাগী শনাক্তকারী। হয় tabId, extensionId বা targetId অবশ্যই উল্লেখ করতে হবে

বৈশিষ্ট্য

  • এক্সটেনশন আইডি

    স্ট্রিং ঐচ্ছিক

    আপনি ডিবাগ করতে চান এমন এক্সটেনশনের আইডি। একটি এক্সটেনশন ব্যাকগ্রাউন্ড পৃষ্ঠায় সংযুক্ত করা শুধুমাত্র তখনই সম্ভব যখন --silent-debugger-extension-api কমান্ড-লাইন সুইচ ব্যবহার করা হয়।

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    ট্যাবের আইডি যা আপনি ডিবাগ করতে চান।

  • টার্গেটআইডি

    স্ট্রিং ঐচ্ছিক

    ডিবাগ টার্গেটের অস্বচ্ছ আইডি।

DebuggerSession

বিচারাধীন

ডিবাগার সেশন শনাক্তকারী। ট্যাবআইডি, এক্সটেনশনআইডি বা টার্গেটআইডির মধ্যে একটি অবশ্যই উল্লেখ করতে হবে। উপরন্তু, একটি ঐচ্ছিক সেশনআইডি প্রদান করা যেতে পারে। যদি onEvent থেকে প্রেরিত আর্গুমেন্টের জন্য sessionId নির্দিষ্ট করা হয়, তাহলে এর অর্থ হল ইভেন্টটি রুট ডিবাগি সেশনের মধ্যে একটি চাইল্ড প্রোটোকল সেশন থেকে আসছে। sendCommand এ পাস করার সময় সেশনআইডি নির্দিষ্ট করা হলে, এটি রুট ডিবাগি সেশনের মধ্যে একটি চাইল্ড প্রোটোকল সেশনকে লক্ষ্য করে।

বৈশিষ্ট্য

  • এক্সটেনশন আইডি

    স্ট্রিং ঐচ্ছিক

    আপনি ডিবাগ করতে চান এমন এক্সটেনশনের আইডি। একটি এক্সটেনশন ব্যাকগ্রাউন্ড পৃষ্ঠায় সংযুক্ত করা শুধুমাত্র তখনই সম্ভব যখন --silent-debugger-extension-api কমান্ড-লাইন সুইচ ব্যবহার করা হয়।

  • সেশন আইডি

    স্ট্রিং ঐচ্ছিক

    Chrome DevTools প্রোটোকল সেশনের অস্বচ্ছ আইডি। tabId, extensionId বা targetId দ্বারা চিহ্নিত রুট সেশনের মধ্যে একটি চাইল্ড সেশন সনাক্ত করে৷

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    ট্যাবের আইডি যা আপনি ডিবাগ করতে চান।

  • টার্গেটআইডি

    স্ট্রিং ঐচ্ছিক

    ডিবাগ টার্গেটের অস্বচ্ছ আইডি।

DetachReason

Chrome 44+

সংযোগ বন্ধ করার কারণ।

এনাম

"লক্ষ্য_বন্ধ"

"ব্যবহারকারী_দ্বারা_বাতিল"

TargetInfo

লক্ষ্য তথ্য ডিবাগ করুন

বৈশিষ্ট্য

  • সংযুক্ত

    বুলিয়ান

    ডিবাগার ইতিমধ্যে সংযুক্ত থাকলে সত্য।

  • এক্সটেনশন আইডি

    স্ট্রিং ঐচ্ছিক

    এক্সটেনশন আইডি, সংজ্ঞায়িত যদি প্রকার = 'ব্যাকগ্রাউন্ড_পৃষ্ঠা'।

  • faviconUrl

    স্ট্রিং ঐচ্ছিক

    টার্গেট ফেভিকন URL.

  • আইডি

    স্ট্রিং

    টার্গেট আইডি।

  • ট্যাবআইডি

    সংখ্যা ঐচ্ছিক

    ট্যাব আইডি, সংজ্ঞায়িত যদি টাইপ == 'পৃষ্ঠা'।

  • শিরোনাম

    স্ট্রিং

    লক্ষ্য পৃষ্ঠা শিরোনাম.

  • টার্গেট টাইপ।

  • url

    স্ট্রিং

    লক্ষ্য URL.

TargetInfoType

Chrome 44+

টার্গেট টাইপ।

এনাম

"পৃষ্ঠা"

"পটভূমি_পৃষ্ঠা"

"কর্মী"

"অন্য"

পদ্ধতি

attach()

প্রতিশ্রুতি
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)

প্রদত্ত লক্ষ্যে ডিবাগার সংযুক্ত করে।

পরামিতি

  • লক্ষ্য

    ডিবাগিং টার্গেট যা আপনি সংযুক্ত করতে চান।

  • প্রয়োজনীয় সংস্করণ

    স্ট্রিং

    প্রয়োজনীয় ডিবাগিং প্রোটোকল সংস্করণ ("0.1")। কেউ শুধুমাত্র মেজর মেজর ভার্সন এবং বৃহত্তর বা সমান ছোট সংস্করণের সাথে ডিবাগীর সাথে সংযুক্ত করতে পারে। প্রোটোকল সংস্করণের তালিকা এখানে পাওয়া যাবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

detach()

প্রতিশ্রুতি
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)

প্রদত্ত লক্ষ্য থেকে ডিবাগারকে বিচ্ছিন্ন করে।

পরামিতি

  • লক্ষ্য

    ডিবাগিং টার্গেট যা থেকে আপনি বিচ্ছিন্ন করতে চান।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

getTargets()

প্রতিশ্রুতি
chrome.debugger.getTargets(
  callback?: function,
)

উপলব্ধ ডিবাগ লক্ষ্যগুলির তালিকা প্রদান করে।

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result: TargetInfo[])=>void

    • উপলব্ধ ডিবাগ লক্ষ্যগুলির সাথে সম্পর্কিত TargetInfo অবজেক্টের অ্যারে।

রিটার্নস

  • প্রতিশ্রুতি< TargetInfo []>

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

sendCommand()

প্রতিশ্রুতি
chrome.debugger.sendCommand(
  target: DebuggerSession,
  method: string,
  commandParams?: object,
  callback?: function,
)

ডিবাগিং টার্গেটে প্রদত্ত কমান্ড পাঠায়।

পরামিতি

  • ডিবাগিং টার্গেট যেখানে আপনি কমান্ড পাঠাতে চান।

  • পদ্ধতি

    স্ট্রিং

    পদ্ধতির নাম। দূরবর্তী ডিবাগিং প্রোটোকল দ্বারা সংজ্ঞায়িত পদ্ধতিগুলির মধ্যে একটি হওয়া উচিত।

  • কমান্ড প্যারামস

    বস্তু ঐচ্ছিক

    অনুরোধ পরামিতি সহ JSON অবজেক্ট। এই বস্তুটিকে প্রদত্ত পদ্ধতির জন্য দূরবর্তী ডিবাগিং প্যারাম স্কিমের সাথে সঙ্গতিপূর্ণ করতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

    (result?: object)=>void

    • ফলাফল

      বস্তু ঐচ্ছিক

      প্রতিক্রিয়া সহ JSON অবজেক্ট। প্রতিক্রিয়ার কাঠামো পদ্ধতির নামের উপর নির্ভর করে পরিবর্তিত হয় এবং দূরবর্তী ডিবাগিং প্রোটোকলে কমান্ড বিবরণের 'রিটার্ন' বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত করা হয়।

রিটার্নস

  • প্রতিশ্রুতি<অবজেক্ট|অনির্ধারিত>

    Chrome 96+

    প্রতিশ্রুতিগুলি ম্যানিফেস্ট V3 এবং পরবর্তীতে সমর্থিত, তবে পশ্চাদগামী সামঞ্জস্যের জন্য কলব্যাক প্রদান করা হয়। আপনি একই ফাংশন কলে উভয় ব্যবহার করতে পারবেন না। প্রতিশ্রুতিটি একই ধরণের সাথে সমাধান করে যা কলব্যাকে পাস করা হয়।

ঘটনা

onDetach

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

যখন ব্রাউজার ট্যাবের জন্য ডিবাগিং সেশন বন্ধ করে তখন ফায়ার করা হয়। এটি ঘটে যখন হয় ট্যাবটি বন্ধ করা হয় বা সংযুক্ত ট্যাবের জন্য Chrome DevTools আহ্বান করা হয়।

পরামিতি

onEvent

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

যখনই ডিবাগিং টার্গেট ইন্সট্রুমেন্টেশন ইভেন্ট সমস্যা করে তখনই ফায়ার করা হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি এর মত দেখাচ্ছে:

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