ब्यौरा
chrome.devtools.panels एपीआई का इस्तेमाल करके, अपने एक्सटेंशन को डेवलपर टूल विंडो के यूज़र इंटरफ़ेस (यूआई) में इंटिग्रेट करें: अपने पैनल बनाएं, मौजूदा पैनल ऐक्सेस करें, और साइडबार जोड़ें.
हर एक्सटेंशन पैनल और साइडबार को एक अलग एचटीएमएल पेज के तौर पर दिखाया जाता है. डेवलपर टूल विंडो में दिखने वाले सभी एक्सटेंशन पेजों के पास, chrome.devtools एपीआई के सभी हिस्सों के साथ-साथ अन्य सभी एक्सटेंशन एपीआई का ऐक्सेस होता है.
devtools.panels.setOpenResourceHandler तरीके का इस्तेमाल करके, कॉलबैक फ़ंक्शन इंस्टॉल किया जा सकता है. यह फ़ंक्शन, किसी संसाधन को खोलने के लिए उपयोगकर्ता के अनुरोधों को मैनेज करता है. आम तौर पर, डेवलपर टूल विंडो में संसाधन के लिंक पर क्लिक करके ऐसा किया जाता है. इंस्टॉल किए गए हैंडलर में से ज़्यादा से ज़्यादा एक हैंडलर को कॉल किया जाता है. उपयोगकर्ता, डेवलपर टूल की सेटिंग वाले डायलॉग बॉक्स का इस्तेमाल करके, डिफ़ॉल्ट ऐक्शन और सेटिंग या संसाधन खोलने के अनुरोधों को हैंडल करने के लिए कोई एक्सटेंशन तय कर सकते हैं. अगर कोई एक्सटेंशन setOpenResourceHandler() को कई बार कॉल करता है, तो सिर्फ़ आखिरी हैंडलर को सेव रखा जाता है.
डेवलपर टूल एपीआई इस्तेमाल करने के बारे में सामान्य जानकारी पाने के लिए, DevTools एपीआई की खास जानकारी देखें.
मेनिफ़ेस्ट
उदाहरण
नीचे दिया गया कोड, Panel.html में मौजूद एक पैनल जोड़ता है. इसे डेवलपर टूल टूलबार पर FontPicker.png से दिखाया जाता है और इसे फ़ॉन्ट पिकर के तौर पर लेबल किया जाता है:
chrome.devtools.panels.create("Font Picker",
"FontPicker.png",
"Panel.html",
function(panel) { ... });
यहां दिया गया कोड, एलिमेंट पैनल में Sidebar.html में मौजूद साइडबार पैनल जोड़ता है. इसका टाइटल फ़ॉन्ट प्रॉपर्टी है. इसके बाद, इसकी ऊंचाई 8ex पर सेट करता है:
chrome.devtools.panels.elements.createSidebarPane("Font Properties",
function(sidebar) {
sidebar.setPage("Sidebar.html");
sidebar.setHeight("8ex");
}
);
इस स्क्रीनशॉट में दिखाया गया है कि इस उदाहरण का डेवलपर टूल विंडो पर क्या असर होगा:
इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से devtools panels API example इंस्टॉल करें.
टाइप
Button
एक्सटेंशन से बनाया गया बटन.
प्रॉपर्टी
-
onClicked
Event<functionvoidvoid>
बटन पर क्लिक करने पर ट्रिगर होता है.
onClicked.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
-
-
अपडेट करें
void
बटन के एट्रिब्यूट अपडेट करता है. अगर कुछ आर्ग्युमेंट शामिल नहीं किए जाते हैं या
nullहैं, तो उनसे जुड़े एट्रिब्यूट अपडेट नहीं किए जाते.updateफ़ंक्शन इस तरह दिखता है:(iconPath?: string, tooltipText?: string, disabled?: boolean) => {...}
-
iconPath
string ज़रूरी नहीं
बटन के नए आइकॉन का पाथ.
-
tooltipText
string ज़रूरी नहीं
जब उपयोगकर्ता बटन पर माउस घुमाता है, तब टूलटिप के तौर पर दिखने वाला टेक्स्ट.
-
बंद है
बूलियन ज़रूरी नहीं
क्या बटन बंद है.
-
ElementsPanel
यह एलिमेंट पैनल को दिखाता है.
प्रॉपर्टी
-
onSelectionChanged
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पैनल में कोई ऑब्जेक्ट चुना जाता है.
onSelectionChanged.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
-
-
createSidebarPane
void
इससे पैनल के साइडबार में एक पैनल बनता है.
createSidebarPaneफ़ंक्शन इस तरह दिखता है:(title: string) => {...}
-
title
स्ट्रिंग
साइडबार कैप्शन में दिखने वाला टेक्स्ट.
-
returns
Promise<ExtensionSidebarPane>
Chrome 152 या इसके बाद का वर्शनसाइडबार बनने पर, एक कॉलबैक ट्रिगर होता है.
-
ExtensionPanel
यह किसी एक्सटेंशन से बनाए गए पैनल को दिखाता है.
प्रॉपर्टी
-
onHidden
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब उपयोगकर्ता पैनल से स्विच करता है.
onHidden.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
-
-
onSearch
Event<functionvoidvoid>
यह इवेंट, खोज से जुड़ी किसी कार्रवाई पर ट्रिगर होता है. जैसे, नई खोज शुरू करना, खोज के नतीजों पर नेविगेट करना या खोज को रद्द करना.
onSearch.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(action: string, queryString?: string) => void
-
ऐक्शन गेम
स्ट्रिंग
-
queryString
string ज़रूरी नहीं
-
-
-
onShown
Event<functionvoidvoid>
यह तब ट्रिगर होता है, जब उपयोगकर्ता पैनल पर स्विच करता है.
onShown.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(window: Window) => void
-
विंडो
विंडो
-
-
-
createStatusBarButton
void
यह पैनल के स्टेटस बार में एक बटन जोड़ता है.
createStatusBarButtonफ़ंक्शन इस तरह दिखता है:(iconPath: string, tooltipText: string, disabled: boolean) => {...}
-
iconPath
स्ट्रिंग
बटन के आइकॉन का पाथ. फ़ाइल में 64x24 पिक्सल की इमेज होनी चाहिए. इसमें 32x24 पिक्सल के दो आइकॉन होने चाहिए. बाईं ओर मौजूद आइकॉन का इस्तेमाल तब किया जाता है, जब बटन इनऐक्टिव हो. दाईं ओर मौजूद आइकॉन तब दिखता है, जब बटन को दबाया जाता है.
-
tooltipText
स्ट्रिंग
जब उपयोगकर्ता बटन पर माउस घुमाता है, तब टूलटिप के तौर पर दिखने वाला टेक्स्ट.
-
बंद है
बूलियन
क्या बटन बंद है.
-
returns
-
-
दिखाएं
void
Chrome 140+ ब्राउज़र.* Chrome 152 के बाद सेइससे संबंधित टैब को चालू करके पैनल दिखता है.
showफ़ंक्शन इस तरह दिखता है:() => {...}
ExtensionSidebarPane
एक्सटेंशन से बनाया गया साइडबार.
प्रॉपर्टी
-
onHidden
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब उपयोगकर्ता साइडबार पैनल को होस्ट करने वाले पैनल से स्विच करता है और साइडबार पैनल छिप जाता है.
onHidden.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
-
-
onShown
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब उपयोगकर्ता उस पैनल पर स्विच करता है जिसमें साइडबार पैनल मौजूद होता है.
onShown.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(window: Window) => void
-
विंडो
विंडो
-
-
-
setExpression
void
यह विकल्प, जांचे गए पेज में आकलन किए जाने वाले एक्सप्रेशन को सेट करता है. नतीजा, साइडबार पैनल में दिखता है.
setExpressionफ़ंक्शन इस तरह दिखता है:(expression: string, rootTitle?: string) => {...}
-
एक्सप्रेशन
स्ट्रिंग
वह एक्सप्रेशन जिसका आकलन, जांचे गए पेज के हिसाब से किया जाना है. JavaScript ऑब्जेक्ट और डीओएम नोड, कंसोल/वॉच की तरह ही बड़ा किए जा सकने वाले ट्री में दिखते हैं.
-
rootTitle
string ज़रूरी नहीं
एक्सप्रेशन ट्री के रूट के लिए टाइटल. हालांकि, यह ज़रूरी नहीं है.
-
returns
वादा<शून्य>
Chrome 152 या इसके बाद का वर्शनसाइडबार पैनल को एक्सप्रेशन के आकलन के नतीजों के साथ अपडेट करने के बाद, कॉलबैक को शुरू किया जाता है.
-
-
setHeight
void
साइडबार की ऊंचाई सेट करता है.
setHeightफ़ंक्शन इस तरह दिखता है:(height: string) => {...}
-
ऊंचाई
स्ट्रिंग
सीएसएस जैसा साइज़ स्पेसिफ़िकेशन, जैसे कि
'100px'या'12ex'.
-
-
setObject
void
साइडबार पैनल में दिखाने के लिए, JSON के साथ काम करने वाला ऑब्जेक्ट सेट करता है.
setObjectफ़ंक्शन इस तरह दिखता है:(jsonObject: string, rootTitle?: string) => {...}
-
jsonObject
स्ट्रिंग
जांचे गए पेज के संदर्भ में दिखाई जाने वाली कोई चीज़. इसका आकलन, कॉलर (एपीआई क्लाइंट) के हिसाब से किया जाता है.
-
rootTitle
string ज़रूरी नहीं
एक्सप्रेशन ट्री के रूट के लिए टाइटल. हालांकि, यह ज़रूरी नहीं है.
-
returns
वादा<शून्य>
Chrome 152 या इसके बाद का वर्शनऑब्जेक्ट के साथ साइडबार अपडेट होने के बाद, कॉलबैक को शुरू किया जाता है.
-
-
setPage
void
साइडबार पैनल में दिखाने के लिए, एचटीएमएल पेज सेट करता है.
setPageफ़ंक्शन इस तरह दिखता है:(path: string) => {...}
-
पाथ
स्ट्रिंग
साइडबार में दिखाने के लिए, एक्सटेंशन पेज का रिलेटिव पाथ.
-
SourcesPanel
यह सोर्स पैनल को दिखाता है.
प्रॉपर्टी
-
onSelectionChanged
Event<functionvoidvoid>
यह इवेंट तब ट्रिगर होता है, जब पैनल में कोई ऑब्जेक्ट चुना जाता है.
onSelectionChanged.addListenerफ़ंक्शन इस तरह दिखता है:(callback: function) => {...}
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:() => void
-
-
createSidebarPane
void
इससे पैनल के साइडबार में एक पैनल बनता है.
createSidebarPaneफ़ंक्शन इस तरह दिखता है:(title: string) => {...}
-
title
स्ट्रिंग
साइडबार कैप्शन में दिखने वाला टेक्स्ट.
-
returns
Promise<ExtensionSidebarPane>
Chrome 152 या इसके बाद का वर्शनसाइडबार बनने पर, एक कॉलबैक ट्रिगर होता है.
-
Theme
DevTools में इस्तेमाल की जाने वाली थीम.
Enum
"default"
DevTools की डिफ़ॉल्ट थीम. यह हमेशा हल्के रंग वाली थीम होती है.
"dark"
गहरे रंग वाली थीम.
प्रॉपर्टी
elements
एलिमेंट पैनल.
टाइप
sources
सोर्स पैनल.
टाइप
themeName
उपयोगकर्ता की DevTools सेटिंग में सेट की गई रंग वाली थीम का नाम. संभावित वैल्यू: default (डिफ़ॉल्ट) और dark.
टाइप
स्ट्रिंग
तरीके
create()
browser.devtools.panels.create(
title: string,
iconPath: string,
pagePath: string,
): Promise<ExtensionPanel>
यह एक एक्सटेंशन पैनल बनाता है.
पैरामीटर
-
title
स्ट्रिंग
डेवलपर टूल के टूलबार में, एक्सटेंशन आइकॉन के बगल में दिखने वाला टाइटल.
-
iconPath
स्ट्रिंग
एक्सटेंशन डायरेक्ट्री के हिसाब से, पैनल के आइकॉन का पाथ.
-
pagePath
स्ट्रिंग
एक्सटेंशन डायरेक्ट्री के हिसाब से, पैनल के एचटीएमएल पेज का पाथ.
रिटर्न
-
Promise<ExtensionPanel>
Chrome 152 या इसके बाद का वर्शनपैनल बनने पर कॉल किया जाने वाला फ़ंक्शन.
openResource()
browser.devtools.panels.openResource(
url: string,
lineNumber: number,
columnNumber?: number,
): Promise<void>
यह DevTools से, डेवलपर टूल पैनल में कोई यूआरएल खोलने का अनुरोध करता है.
पैरामीटर
-
url
स्ट्रिंग
उस संसाधन का यूआरएल जिसे खोलना है.
-
lineNumber
संख्या
इससे पता चलता है कि रिसॉर्स लोड होने पर, किस लाइन नंबर तक स्क्रोल करना है.
-
columnNumber
number ज़रूरी नहीं
Chrome 114+ Chrome 152 से browser.*इससे पता चलता है कि संसाधन लोड होने पर, किस कॉलम नंबर तक स्क्रोल करना है.
रिटर्न
-
वादा<शून्य>
Chrome 152 या इसके बाद का वर्शनयह फ़ंक्शन तब ट्रिगर होता है, जब संसाधन लोड हो जाता है.
setOpenResourceHandler()
browser.devtools.panels.setOpenResourceHandler(
callback?: function,
): void
इससे यह तय होता है कि जब उपयोगकर्ता, डेवलपर टूल विंडो में किसी संसाधन के लिंक पर क्लिक करेगा, तब कौनसा फ़ंक्शन कॉल किया जाएगा. हैंडलर को अनसेट करने के लिए, बिना किसी पैरामीटर के तरीके को कॉल करें या पैरामीटर के तौर पर शून्य पास करें.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(resource: Resource, lineNumber: number) => void
-
रिसॉर्स
जिस संसाधन पर क्लिक किया गया था उसके लिए
devtools.inspectedWindow.Resourceऑब्जेक्ट. -
lineNumber
संख्या
इससे उस संसाधन में लाइन नंबर का पता चलता है जिस पर क्लिक किया गया था.
-
setThemeChangeHandler()
browser.devtools.panels.setThemeChangeHandler(
callback?: function,
): void
इससे उस फ़ंक्शन के बारे में पता चलता है जिसे DevTools में मौजूदा थीम बदलने पर कॉल किया जाएगा. हैंडलर को अनसेट करने के लिए, बिना किसी पैरामीटर के मेथड को कॉल करें या पैरामीटर के तौर पर null को पास करें.