রিফ্রেশ করার তারিখ: ২৫-০৯-২০২৬ রোবট: noindex
বিবরণ
chrome.debugger API, Chrome-এর রিমোট ডিবাগিং প্রোটোকলের বিকল্প ট্রান্সপোর্ট হিসেবে কাজ করে। নেটওয়ার্ক ইন্টার্যাকশন ইনস্ট্রুমেন্ট করতে, JavaScript ডিবাগ করতে, DOM ও CSS পরিবর্তন করতে এবং আরও অনেক কিছু করতে এক বা একাধিক ট্যাবে অ্যাটাচ করতে chrome.debugger ব্যবহার করুন। sendCommand সহ ট্যাব টার্গেট করতে এবং onEvent কলব্যাক থেকে tabId অনুযায়ী ইভেন্ট রাউট করতে Debuggee প্রপার্টি tabId ব্যবহার করুন।
অনুমতি
debuggerনিরাপত্তা সংক্রান্ত নোট
নিরাপত্তার কারণে, chrome.debugger API সব 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.
ম্যানিফেস্ট
এই API ব্যবহার করতে হলে, আপনার এক্সটেনশনের ম্যানিফেস্টে "debugger" অনুমতি ঘোষণা করতে হবে।
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
উদাহরণ
এই API ব্যবহার করে দেখতে, chrome-extension-samples রেপোজিটরি থেকে debugger API উদাহরণ ইনস্টল করুন।
ধরন
Debuggee
ডিবাগ করা হচ্ছে এমন প্রসেসের শনাক্তকারী। tabId, extensionId বা targetId-এর মধ্যে কোনও একটি অবশ্যই উল্লেখ করতে হবে
প্রপার্টি
-
extensionId
স্ট্রিং ঐচ্ছিক
আপনি যে এক্সটেনশন ডিবাগ করতে চান তার আইডি।
--silent-debugger-extension-apiকমান্ড-লাইন সুইচ ব্যবহার করা হলেই শুধুমাত্র এক্সটেনশনের ব্যাকগ্রাউন্ড পৃষ্ঠায় অ্যাটাচ করা যায়। -
tabId
নম্বর ঐচ্ছিক
আপনি যে ট্যাবটি ডিবাগ করতে চান তার আইডি।
-
targetId
স্ট্রিং ঐচ্ছিক
ডিবাগ টার্গেটের অস্বচ্ছ আইডি।
DebuggerSession
ডিবাগার সেশন শনাক্তকারী। tabId, extensionId বা targetId-এর মধ্যে একটি অবশ্যই উল্লেখ করতে হবে। এছাড়াও, ঐচ্ছিক sessionId প্রদান করা যেতে পারে। onEvent থেকে পাঠানো আর্গুমেন্টের জন্য sessionId নির্দিষ্ট করা থাকলে, এর অর্থ হল ইভেন্টটি রুট ডিবাগি সেশনের মধ্যে চাইল্ড প্রোটোকল সেশন থেকে আসছে। sendCommand-এ sessionId নির্দিষ্ট করা থাকলে, এটি রুট ডিবাগি সেশনের মধ্যে চাইল্ড প্রোটোকল সেশনকে টার্গেট করে।
প্রপার্টি
-
extensionId
স্ট্রিং ঐচ্ছিক
আপনি যে এক্সটেনশন ডিবাগ করতে চান তার আইডি।
--silent-debugger-extension-apiকমান্ড-লাইন সুইচ ব্যবহার করা হলেই শুধুমাত্র এক্সটেনশনের ব্যাকগ্রাউন্ড পৃষ্ঠায় অ্যাটাচ করা যায়। -
sessionId
স্ট্রিং ঐচ্ছিক
Chrome DevTools Protocol সেশনের অস্বচ্ছ আইডি। tabId, extensionId বা targetId দ্বারা শনাক্ত করা রুট সেশনের মধ্যে একটি চাইল্ড সেশন শনাক্ত করে।
-
tabId
নম্বর ঐচ্ছিক
আপনি যে ট্যাবটি ডিবাগ করতে চান তার আইডি।
-
targetId
স্ট্রিং ঐচ্ছিক
ডিবাগ টার্গেটের অস্বচ্ছ আইডি।
DetachReason
কানেকশন বন্ধ করার কারণ।
Enum
"target_closed"
"canceled_by_user"
TargetInfo
ডিবাগ টার্গেট সংক্রান্ত তথ্য
প্রপার্টি
-
অ্যাটাচ করা আছে
বুলিয়ান
ডিবাগার আগে থেকেই অ্যাটাচ করা থাকলে, 'সত্য'।
-
extensionId
স্ট্রিং ঐচ্ছিক
টাইপ = 'background_page' হলে, এক্সটেনশন আইডি নির্দিষ্ট করা হয়।
-
faviconUrl
স্ট্রিং ঐচ্ছিক
টার্গেট ফেভিকন URL.
-
id
স্ট্রিং
টার্গেট আইডি।
-
tabId
নম্বর ঐচ্ছিক
টাইপ == 'page' হলে, ট্যাব আইডি নির্দিষ্ট করা হয়।
-
শীর্ষক
স্ট্রিং
টার্গেট পৃষ্ঠার শীর্ষক।
-
ধরন
টার্গেটের ধরন।
-
URL
স্ট্রিং
টার্গেট URL.
TargetInfoType
টার্গেটের ধরন।
Enum
"page"
"background_page"
"কর্মী"
"অন্যান্য"
পদ্ধতি
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
প্রদত্ত টার্গেটে ডিবাগার অ্যাটাচ করে।
প্যারামিটারগুলি
-
target
আপনি যে টার্গেটে অ্যাটাচ করতে চান সেটি ডিবাগ করা।
-
requiredVersion
স্ট্রিং
প্রয়োজনীয় ডিবাগিং প্রোটোকল ভার্সন ("0.1")। শুধুমাত্র মেজর ভার্সন ম্যাচ করলে এবং মাইনর ভার্সন সমান বা বেশি হলে তবেই কোনও ব্যক্তি ডিবাগির সাথে অ্যাটাচ করতে পারবেন। প্রোটোকল ভার্সনের তালিকা এখানে পাওয়া যাবে।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এমন:() => void
রিটার্ন
-
Promise<void>
Chrome 96+অ্যাটাচ করার অপারেশন সফল বা ব্যর্থ হলে সমাধান হয়ে যায়। প্রমিসটি কোনও ভ্যালু ছাড়াই সমাধান হয়ে যায়। অ্যাটাচ করা না গেলে, প্রতিশ্রুতি বাতিল করা হবে।
Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
প্রদত্ত টার্গেট থেকে ডিবাগারকে আলাদা করে।
প্যারামিটারগুলি
-
target
আপনি যে টার্গেট থেকে ডিটাচ করতে চান সেটি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এমন:() => void
রিটার্ন
-
Promise<void>
Chrome 96+আলাদা করার অপারেশন সফল বা ব্যর্থ হলে সমাধান হয়ে যায়। প্রমিসটি কোনও ভ্যালু ছাড়াই সমাধান হয়ে যায়। আলাদা করা না গেলে, প্রতিশ্রুতি বাতিল করা হবে।
Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
উপলভ্য ডিবাগ টার্গেটের তালিকা রিটার্ন করে।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এমন:(result: TargetInfo[]) => void
-
ফলাফল
উপলভ্য ডিবাগ টার্গেটের সাথে সম্পর্কিত TargetInfo অবজেক্টের অ্যারে।
-
রিটার্ন
-
Promise<TargetInfo[]>
Chrome 96+Manifest V3 ও তার পরবর্তী ভার্সনের ক্ষেত্রেই শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হয়।
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
ডিবাগিং টার্গেটে প্রদত্ত কমান্ড পাঠায়।
প্যারামিটারগুলি
-
target
আপনি যে টার্গেটে কমান্ড পাঠাতে চান সেটি ডিবাগ করা।
-
পদ্ধতি
স্ট্রিং
মেথডের নাম। রিমোট ডিবাগিং প্রোটোকল দ্বারা সংজ্ঞায়িত পদ্ধতির মধ্যে একটি হতে হবে।
-
commandParams
অবজেক্ট ঐচ্ছিক
অনুরোধ প্যারামিটার সহ JSON অবজেক্ট। এই অবজেক্টকে প্রদত্ত পদ্ধতির জন্য রিমোট ডিবাগিং প্যারামিটার স্কিম মেনে চলতে হবে।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এমন:(result?: object) => void
-
ফলাফল
অবজেক্ট ঐচ্ছিক
JSON অবজেক্ট সহ উত্তর। মেথডের নামের উপর নির্ভর করে উত্তরের স্ট্রাকচার আলাদা হয় এবং রিমোট ডিবাগিং প্রোটোকলে কমান্ডের বিবরণের 'returns' অ্যাট্রিবিউট দ্বারা তা সংজ্ঞায়িত করা হয়।
-
রিটার্ন
-
Promise<object | undefined>
Chrome 96+রেসপন্স বডি। মেসেজ পোস্ট করার সময় কোনও সমস্যা হলে, প্রতিশ্রুতি বাতিল করা হবে।
Manifest 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
অবজেক্ট ঐচ্ছিক
-