বর্ণনা
chrome.debugger
API Chrome এর দূরবর্তী ডিবাগিং প্রোটোকলের জন্য একটি বিকল্প পরিবহন হিসাবে কাজ করে৷ নেটওয়ার্ক ইন্টারঅ্যাকশন, জাভাস্ক্রিপ্ট ডিবাগ, DOM এবং CSS পরিবর্তন করতে এবং আরও অনেক কিছুতে এক বা একাধিক ট্যাবের সাথে সংযুক্ত করতে chrome.debugger
ব্যবহার করুন। sendCommand
সহ ট্যাবগুলিকে লক্ষ্য করতে Debuggee
প্রপার্টি tabId
ব্যবহার করুন এবং onEvent
কলব্যাক থেকে tabId
দ্বারা ইভেন্টগুলিকে রুট করুন৷
অনুমতি
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 ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার এক্সটেনশনের ম্যানিফেস্টে "debugger"
` অনুমতি ঘোষণা করতে হবে৷
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
উদাহরণ
এই 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
সংযোগ বন্ধ করার কারণ।
এনাম
"লক্ষ্য_বন্ধ" "ব্যবহারকারী_দ্বারা_বাতিল"
TargetInfo
লক্ষ্য তথ্য ডিবাগ করুন
বৈশিষ্ট্য
- সংযুক্ত
বুলিয়ান
ডিবাগার ইতিমধ্যে সংযুক্ত থাকলে সত্য।
- এক্সটেনশন আইডি
স্ট্রিং ঐচ্ছিক
এক্সটেনশন আইডি, সংজ্ঞায়িত যদি প্রকার = 'ব্যাকগ্রাউন্ড_পৃষ্ঠা'।
- faviconUrl
স্ট্রিং ঐচ্ছিক
টার্গেট ফেভিকন URL.
- আইডি
স্ট্রিং
টার্গেট আইডি।
- ট্যাবআইডি
সংখ্যা ঐচ্ছিক
ট্যাব আইডি, সংজ্ঞায়িত যদি টাইপ == 'পৃষ্ঠা'।
- শিরোনাম
স্ট্রিং
লক্ষ্য পৃষ্ঠা শিরোনাম.
- টাইপ
টার্গেট টাইপ।
- url
স্ট্রিং
লক্ষ্য URL.
TargetInfoType
টার্গেট টাইপ।
এনাম
"পৃষ্ঠা" "পটভূমি_পৃষ্ঠা" "কর্মী" "অন্য"
পদ্ধতি
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 অবজেক্ট। প্রতিক্রিয়ার কাঠামো পদ্ধতির নামের উপর নির্ভর করে পরিবর্তিত হয় এবং দূরবর্তী ডিবাগিং প্রোটোকলে কমান্ড বিবরণের 'রিটার্ন' বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত করা হয়।
রিটার্নস
প্রতিশ্রুতি <অবজেক্ট | undefined>
Chrome 96+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
ঘটনা
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
- উৎস
- পদ্ধতি
স্ট্রিং
- params
বস্তু ঐচ্ছিক