ब्यौरा
Google Chrome के टूलबार में एक्सटेंशन के आइकॉन को कंट्रोल करने के लिए, chrome.action API का इस्तेमाल करें.
उपलब्धता
मेनिफ़ेस्ट
browser.action API का इस्तेमाल करने के लिए, 3 का "manifest_version" तय करें. साथ ही, अपनी मेनिफ़ेस्ट फ़ाइल में "action" कुंजी शामिल करें.
{
"name": "Action Extension",
...
"action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Click Me", // optional, shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
"action" कुंजी (और इसके चाइल्ड) का इस्तेमाल करना ज़रूरी नहीं है. इसे शामिल न करने पर भी, एक्सटेंशन को टूलबार में दिखाया जाता है, ताकि एक्सटेंशन के मेन्यू को ऐक्सेस किया जा सके. इसलिए, हमारा सुझाव है कि आप हमेशा कम से कम "action" और "default_icon" कुंजियां शामिल करें.
कॉन्सेप्ट और इस्तेमाल करने का तरीका
यूज़र इंटरफ़ेस (यूआई) के हिस्से
आइकॉन
यह आइकॉन, आपके एक्सटेंशन के टूलबार पर मौजूद मुख्य इमेज होती है. इसे आपके मेनिफ़ेस्ट की "action" कुंजी में मौजूद "default_icon" कुंजी से सेट किया जाता है. आइकॉन की चौड़ाई और लंबाई 16 डिवाइस-इंडिपेंडेंट पिक्सल (डीआईपी) होनी चाहिए.
"default_icon" कुंजी, इमेज पाथ के साइज़ की डिक्शनरी होती है. Chrome इन आइकॉन का इस्तेमाल करके यह तय करता है कि इमेज को किस स्केल पर दिखाना है. अगर कोई एग्ज़ैक्ट मैच नहीं मिलता है, तो Chrome सबसे मिलते-जुलते फ़ॉन्ट को चुनता है और उसे इमेज के हिसाब से स्केल करता है. इससे इमेज की क्वालिटी पर असर पड़ सकता है.
1.5x या 1.2x जैसे कम इस्तेमाल किए जाने वाले स्केल फ़ैक्टर वाले डिवाइसों का इस्तेमाल अब ज़्यादा होने लगा है. इसलिए, हमारा सुझाव है कि आप अपने आइकॉन के लिए कई साइज़ उपलब्ध कराएं. इससे, आइकॉन के डिसप्ले साइज़ में होने वाले संभावित बदलावों के हिसाब से, आपका एक्सटेंशन आने वाले समय में भी काम करता रहेगा. हालांकि, अगर सिर्फ़ एक साइज़ दिया जा रहा है, तो "default_icon" कुंजी को डिक्शनरी के बजाय, एक आइकॉन के पाथ वाली स्ट्रिंग पर भी सेट किया जा सकता है.
आपके पास action.setIcon() को कॉल करके, प्रोग्राम के हिसाब से अपने एक्सटेंशन का आइकॉन सेट करने का विकल्प भी होता है. इसके लिए, आपको इमेज का कोई दूसरा पाथ तय करना होगा या एचटीएमएल कैनवस एलिमेंट का इस्तेमाल करके, डाइनैमिक तरीके से जनरेट किया गया आइकॉन उपलब्ध कराना होगा. इसके अलावा, अगर एक्सटेंशन सर्विस वर्कर से आइकॉन सेट किया जा रहा है, तो ऑफ़स्क्रीन कैनवस एपीआई का इस्तेमाल करें.
const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00'; // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
browser.action.setIcon({imageData: imageData}, () => { /* ... */ });
पैक्ड एक्सटेंशन (जो .crx फ़ाइल से इंस्टॉल किए जाते हैं) के लिए, इमेज ऐसे ज़्यादातर फ़ॉर्मैट में हो सकती हैं जिन्हें Blink रेंडरिंग इंजन दिखा सकता है. इनमें PNG, JPEG, BMP, ICO वगैरह शामिल हैं. SVG फ़ाइल फ़ॉर्मैट इस्तेमाल नहीं किया जा सकता. अनपैक किए गए एक्सटेंशन में, PNG इमेज का इस्तेमाल करना ज़रूरी है.
टूलटिप (टाइटल)
जब उपयोगकर्ता टूलबार में एक्सटेंशन के आइकॉन पर माउस पॉइंटर को घुमाता है, तब टूलटिप या टाइटल दिखता है. जब बटन पर फ़ोकस किया जाता है, तब स्क्रीन रीडर इस टेक्स्ट को भी पढ़ता है.
डिफ़ॉल्ट टूलटिप को manifest.json में मौजूद "action" कुंजी के "default_title" फ़ील्ड का इस्तेमाल करके सेट किया जाता है.
action.setTitle() को कॉल करके, इसे प्रोग्राम के हिसाब से भी सेट किया जा सकता है.
बैज
कार्रवाइयों में, "बैज" दिखाने का विकल्प होता है. यह आइकॉन के ऊपर लेयर किया गया थोड़ा सा टेक्स्ट होता है. इस सुविधा की मदद से, एक्सटेंशन की स्थिति के बारे में थोड़ी जानकारी दिखाने के लिए, कार्रवाई को अपडेट किया जा सकता है. जैसे, काउंटर. बैज में एक टेक्स्ट कॉम्पोनेंट और बैकग्राउंड का रंग होता है. जगह सीमित होने की वजह से, हमारा सुझाव है कि बैज के टेक्स्ट में चार या इससे कम वर्णों का इस्तेमाल करें.
बैज बनाने के लिए, इसे प्रोग्राम के हिसाब से सेट करें. इसके लिए, action.setBadgeBackgroundColor() और action.setBadgeText() को कॉल करें. मेनिफ़ेस्ट में, बैज की डिफ़ॉल्ट सेटिंग मौजूद नहीं है. बैज के रंग की वैल्यू, 0 से 255 के बीच के चार पूर्णांकों का एक ऐसा कलेक्शन हो सकता है जो बैज के आरजीबीए रंग को बनाता है. इसके अलावा, यह सीएसएस रंग की वैल्यू वाली स्ट्रिंग भी हो सकती है.
browser.action.setBadgeBackgroundColor(
{color: [0, 255, 0, 0]}, // Green
() => { /* ... */ },
);
browser.action.setBadgeBackgroundColor(
{color: '#00FF00'}, // Also green
() => { /* ... */ },
);
browser.action.setBadgeBackgroundColor(
{color: 'green'}, // Also, also green
() => { /* ... */ },
);
पॉप-अप
जब उपयोगकर्ता टूलबार में एक्सटेंशन के ऐक्शन बटन पर क्लिक करता है, तब ऐक्शन का पॉप-अप दिखता है. पॉप-अप में आपकी पसंद का कोई भी एचटीएमएल कॉन्टेंट शामिल किया जा सकता है. साथ ही, यह कॉन्टेंट के हिसाब से अपने-आप सेट हो जाएगा. पॉप-अप का साइज़ 25x25 और 800x600 पिक्सल के बीच होना चाहिए.
पॉप-अप को शुरू में manifest.json फ़ाइल में मौजूद "action" कुंजी में "default_popup" प्रॉपर्टी के ज़रिए सेट किया जाता है. अगर यह प्रॉपर्टी मौजूद है, तो इसे एक्सटेंशन डायरेक्ट्री में मौजूद किसी रिलेटिव पाथ की ओर ले जाना चाहिए. action.setPopup() तरीके का इस्तेमाल करके, इसे डाइनैमिक तौर पर भी अपडेट किया जा सकता है, ताकि यह किसी दूसरे रिलेटिव पाथ की ओर इशारा करे.
उपयोग के उदाहरण
हर टैब की स्थिति
एक्सटेंशन ऐक्शन की स्थिति, हर टैब के लिए अलग-अलग हो सकती है. किसी टैब के लिए वैल्यू सेट करने के लिए, action API के सेटिंग के तरीकों में tabId प्रॉपर्टी का इस्तेमाल करें. उदाहरण के लिए, किसी टैब के लिए बैज का टेक्स्ट सेट करने के लिए, कुछ ऐसा करें:
function getTabId() { /* ... */}
function getTabBadge() { /* ... */}
browser.action.setBadgeText(
{
text: getTabBadge(tabId),
tabId: getTabId(),
},
() => { ... }
);
अगर tabId प्रॉपर्टी को शामिल नहीं किया जाता है, तो सेटिंग को ग्लोबल सेटिंग माना जाता है. टैब के हिसाब से की गई सेटिंग को ग्लोबल सेटिंग से ज़्यादा प्राथमिकता दी जाती है.
चालू की गई स्थिति
डिफ़ॉल्ट रूप से, टूलबार में मौजूद कार्रवाइयां हर टैब पर चालू होती हैं. इसका मतलब है कि उन पर क्लिक किया जा सकता है. मेनिफ़ेस्ट की action कुंजी में default_state प्रॉपर्टी सेट करके, इस डिफ़ॉल्ट सेटिंग को बदला जा सकता है. अगर default_state को "disabled" पर सेट किया जाता है, तो कार्रवाई डिफ़ॉल्ट रूप से बंद हो जाती है. इस पर क्लिक करने की सुविधा को प्रोग्राम के हिसाब से चालू करना होगा. अगर default_state को "enabled" (डिफ़ॉल्ट) पर सेट किया जाता है, तो कार्रवाई डिफ़ॉल्ट रूप से चालू होती है और इस पर क्लिक किया जा सकता है.
action.enable() और action.disable()
तरीकों का इस्तेमाल करके, प्रोग्राम के हिसाब से स्थिति को कंट्रोल किया जा सकता है. इससे सिर्फ़ यह तय होता है कि आपके एक्सटेंशन को पॉप-अप (अगर कोई हो) या action.onClicked इवेंट भेजा जाएगा या नहीं. इससे टूलबार में कार्रवाई की मौजूदगी पर कोई असर नहीं पड़ता.
उदाहरण
यहां कुछ सामान्य उदाहरण दिए गए हैं, जिनसे पता चलता है कि एक्सटेंशन में कार्रवाइयों का इस्तेमाल कैसे किया जाता है. इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से Action API का उदाहरण इंस्टॉल करें.
पॉप-अप दिखाएं
आम तौर पर, जब उपयोगकर्ता एक्सटेंशन की कार्रवाई पर क्लिक करता है, तो एक्सटेंशन एक पॉप-अप दिखाता है. अपने एक्सटेंशन में इस सुविधा को लागू करने के लिए, manifest.json में पॉप-अप का एलान करें. साथ ही, वह कॉन्टेंट तय करें जिसे Chrome को पॉप-अप में दिखाना चाहिए.
// manifest.json
{
"name": "Action popup demo",
"version": "1.0",
"manifest_version": 3,
"action": {
"default_title": "Click to view a popup",
"default_popup": "popup.html"
}
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
<style>
html {
min-height: 5em;
min-width: 10em;
background: salmon;
}
</style>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
क्लिक करने पर कॉन्टेंट स्क्रिप्ट इंजेक्ट करना
एक्सटेंशन के लिए, एक्सटेंशन की कार्रवाई का इस्तेमाल करके अपनी मुख्य सुविधा को दिखाना एक सामान्य पैटर्न है. नीचे दिए गए उदाहरण में इस पैटर्न के बारे में बताया गया है. जब उपयोगकर्ता इस कार्रवाई पर क्लिक करता है, तो एक्सटेंशन मौजूदा पेज में कॉन्टेंट स्क्रिप्ट डालता है. इसके बाद, कॉन्टेंट स्क्रिप्ट एक सूचना दिखाती है. इससे यह पुष्टि की जाती है कि सब कुछ ठीक से काम कर रहा है.
// manifest.json
{
"name": "Action script injection demo",
"version": "1.0",
"manifest_version": 3,
"action": {
"default_title": "Click to show an alert"
},
"permissions": ["activeTab", "scripting"],
"background": {
"service_worker": "background.js"
}
}
// background.js
browser.action.onClicked.addListener((tab) => {
browser.scripting.executeScript({
target: {tabId: tab.id},
files: ['content.js']
});
});
// content.js
alert('Hello, world!');
declarativeContent की मदद से कार्रवाइयों को दोहराना
इस उदाहरण में दिखाया गया है कि एक्सटेंशन का बैकग्राउंड लॉजिक, (a) डिफ़ॉल्ट रूप से किसी कार्रवाई को कैसे बंद कर सकता है और (b) कुछ खास साइटों पर कार्रवाई को चालू करने के लिए, declarativeContent का इस्तेमाल कैसे कर सकता है.
// service-worker.js
// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
browser.runtime.onInstalled.addListener(() => {
// Page actions are disabled by default and enabled on select tabs
browser.action.disable();
// Clear all rules to ensure only our expected rules are set
browser.declarativeContent.onPageChanged.removeRules(undefined, () => {
// Declare a rule to enable the action on example.com pages
let exampleRule = {
conditions: [
new browser.declarativeContent.PageStateMatcher({
pageUrl: {hostSuffix: '.example.com'},
})
],
actions: [new browser.declarativeContent.ShowAction()],
};
// Finally, apply our new array of rules
let rules = [exampleRule];
browser.declarativeContent.onPageChanged.addRules(rules);
});
});
टाइप
OpenPopupOptions
प्रॉपर्टी
-
windowId
number optional
कार्रवाई वाला पॉप-अप खोलने के लिए, विंडो की आईडी. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू, फ़िलहाल चालू विंडो होती है.
TabDetails
प्रॉपर्टी
-
tabId
number optional
उस टैब का आईडी जिसके लिए क्वेरी की स्थिति जाननी है. अगर कोई टैब नहीं चुना जाता है, तो टैब से जुड़ी जानकारी नहीं दिखती है.
UserSettings
एक्सटेंशन की कार्रवाई से जुड़ी, उपयोगकर्ता की ओर से तय की गई सेटिंग का कलेक्शन.
प्रॉपर्टी
-
isOnToolbar
बूलियन
ब्राउज़र विंडो के टॉप-लेवल टूलबार पर एक्सटेंशन का ऐक्शन आइकॉन दिखता है या नहीं. इसका मतलब है कि उपयोगकर्ता ने एक्सटेंशन को 'पिन किया है' या नहीं.
UserSettingsChange
प्रॉपर्टी
-
isOnToolbar
बूलियन ज़रूरी नहीं है
ब्राउज़र विंडो के टॉप-लेवल टूलबार पर एक्सटेंशन का ऐक्शन आइकॉन दिखता है या नहीं. इसका मतलब है कि उपयोगकर्ता ने एक्सटेंशन को 'पिन किया है' या नहीं.
तरीके
disable()
chrome.action.disable(
tabId?: number,
): Promise<void>
यह किसी टैब के लिए कार्रवाई करने की सुविधा बंद कर देता है.
पैरामीटर
-
tabId
number optional
उस टैब का आईडी जिसके लिए आपको कार्रवाई में बदलाव करना है.
रिटर्न
-
Promise<void>
enable()
chrome.action.enable(
tabId?: number,
): Promise<void>
इससे किसी टैब के लिए कार्रवाई करने की सुविधा चालू होती है. कार्रवाइयों की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
पैरामीटर
-
tabId
number optional
उस टैब का आईडी जिसके लिए आपको कार्रवाई में बदलाव करना है.
रिटर्न
-
Promise<void>
getBadgeBackgroundColor()
chrome.action.getBadgeBackgroundColor(
details: TabDetails,
): Promise<extensionTypes.ColorArray>
कार्रवाई के बैकग्राउंड का रंग मिलता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<extensionTypes.ColorArray>
getBadgeText()
chrome.action.getBadgeText(
details: TabDetails,
): Promise<string>
कार्रवाई के बैज का टेक्स्ट मिलता है. अगर कोई टैब नहीं चुना जाता है, तो टैब के हिसाब से बैज का टेक्स्ट नहीं दिखता है. अगर displayActionCountAsBadgeText चालू है, तो प्लेसहोल्डर टेक्स्ट तब तक दिखेगा, जब तक declarativeNetRequestFeedback की अनुमति नहीं दी जाती या टैब के हिसाब से बैज टेक्स्ट नहीं दिया जाता.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<string>
getBadgeTextColor()
chrome.action.getBadgeTextColor(
details: TabDetails,
): Promise<extensionTypes.ColorArray>
इससे कार्रवाई के टेक्स्ट का रंग मिलता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<extensionTypes.ColorArray>
getPopup()
chrome.action.getPopup(
details: TabDetails,
): Promise<string>
इस कार्रवाई के लिए, पॉप-अप के तौर पर सेट किए गए एचटीएमएल दस्तावेज़ को दिखाता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<string>
getTitle()
chrome.action.getTitle(
details: TabDetails,
): Promise<string>
इससे कार्रवाई का टाइटल मिलता है.
पैरामीटर
-
विवरण
रिटर्न
-
Promise<string>
getUserSettings()
chrome.action.getUserSettings(): Promise<UserSettings>
यह एक्सटेंशन की कार्रवाई से जुड़ी, उपयोगकर्ता की तय की गई सेटिंग दिखाता है.
रिटर्न
-
Promise<UserSettings>
isEnabled()
chrome.action.isEnabled(
tabId?: number,
): Promise<boolean>
इससे पता चलता है कि किसी टैब के लिए एक्सटेंशन ऐक्शन चालू है या नहीं. अगर कोई tabId नहीं दिया गया है, तो इससे यह भी पता चलता है कि एक्सटेंशन ऐक्शन ग्लोबल लेवल पर चालू है या नहीं. सिर्फ़ declarativeContent का इस्तेमाल करके चालू की गई कार्रवाइयां हमेशा गलत जवाब देती हैं.
पैरामीटर
-
tabId
number optional
उस टैब का आईडी जिसके लिए आपको चालू होने की स्थिति की जांच करनी है.
रिटर्न
-
Promise<boolean>
openPopup()
chrome.action.openPopup(
options?: OpenPopupOptions,
): Promise<void>
इससे एक्सटेंशन का पॉप-अप खुलता है. Chrome 118 और Chrome 126 के बीच, यह सुविधा सिर्फ़ उन एक्सटेंशन के लिए उपलब्ध है जिन्हें नीति के तहत इंस्टॉल किया गया है.
पैरामीटर
-
विकल्प
OpenPopupOptions ज़रूरी नहीं है
इससे पॉप-अप खोलने के विकल्प तय किए जाते हैं.
रिटर्न
-
Promise<void>
setBadgeBackgroundColor()
chrome.action.setBadgeBackgroundColor(
details: object,
): Promise<void>
इस विकल्प से, बैज के बैकग्राउंड का रंग सेट किया जाता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
रंग
string | ColorArray
यह [0,255] रेंज में मौजूद चार पूर्णांकों का एक कलेक्शन होता है. इससे बैज का आरजीबीए रंग बनता है. उदाहरण के लिए, गहरे लाल रंग को
[255, 0, 0, 255]के तौर पर दिखाया गया है. यह सीएसएस वैल्यू वाली स्ट्रिंग भी हो सकती है. इसमें अपारदर्शी लाल रंग के लिए#FF0000या#F00का इस्तेमाल किया जाता है. -
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
रिटर्न
-
Promise<void>
setBadgeText()
chrome.action.setBadgeText(
details: object,
): Promise<void>
इस विकल्प से, कार्रवाई के लिए बैज का टेक्स्ट सेट किया जाता है. बैज, आइकॉन के ऊपर दिखता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
टेक्स्ट
string ज़रूरी नहीं है
इसमें कितने भी वर्ण पास किए जा सकते हैं. हालांकि, इसमें सिर्फ़ चार वर्ण दिखते हैं. अगर कोई खाली स्ट्रिंग (
'') पास की जाती है, तो बैज का टेक्स्ट मिट जाता है. अगरtabIdतय किया गया है औरtextशून्य है, तो तय किए गए टैब का टेक्स्ट मिटा दिया जाता है और डिफ़ॉल्ट रूप से ग्लोबल बैज का टेक्स्ट दिखता है.
-
रिटर्न
-
Promise<void>
setBadgeTextColor()
chrome.action.setBadgeTextColor(
details: object,
): Promise<void>
इस विकल्प से, बैज के टेक्स्ट का रंग सेट किया जाता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
रंग
string | ColorArray
यह [0,255] रेंज में मौजूद चार पूर्णांकों का एक कलेक्शन होता है. इससे बैज का आरजीबीए रंग बनता है. उदाहरण के लिए, गहरे लाल रंग को
[255, 0, 0, 255]के तौर पर दिखाया गया है. यह सीएसएस वैल्यू वाली स्ट्रिंग भी हो सकती है. इसमें अपारदर्शी लाल रंग के लिए#FF0000या#F00का इस्तेमाल किया जाता है. इस वैल्यू को सेट न करने पर, बैज के बैकग्राउंड के रंग से अलग रंग अपने-आप चुना जाएगा, ताकि टेक्स्ट दिखे. ऐसी वैल्यू वाले रंग सेट नहीं किए जाएंगे जिनकी ऐल्फ़ा वैल्यू 0 के बराबर है. साथ ही, गड़बड़ी का मैसेज दिखेगा. -
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
रिटर्न
-
Promise<void>
setIcon()
chrome.action.setIcon(
details: object,
): Promise<void>
इससे कार्रवाई के लिए आइकॉन सेट किया जाता है. आइकॉन को इमेज फ़ाइल के पाथ या कैनवस एलिमेंट से पिक्सल डेटा के तौर पर तय किया जा सकता है. इसके अलावा, इसे इनमें से किसी एक के डिक्शनरी के तौर पर भी तय किया जा सकता है. path या imageData प्रॉपर्टी में से किसी एक की वैल्यू देना ज़रूरी है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
imageData
ImageData | object ज़रूरी नहीं
ImageData ऑब्जेक्ट या डिक्शनरी {size -> ImageData} में से कोई एक. यह डिक्शनरी, सेट किए जाने वाले आइकॉन को दिखाती है. अगर आइकॉन को डिक्शनरी के तौर पर तय किया जाता है, तो इस्तेमाल की जाने वाली असली इमेज को स्क्रीन की पिक्सल डेंसिटी के हिसाब से चुना जाता है. अगर स्क्रीन स्पेस की एक यूनिट में फ़िट होने वाले इमेज पिक्सल की संख्या
scaleके बराबर है, तोscale* n साइज़ वाली इमेज चुनी जाएगी. यहां n, यूज़र इंटरफ़ेस (यूआई) में आइकॉन का साइज़ है. कम से कम एक इमेज के बारे में बताना ज़रूरी है. ध्यान दें कि 'details.imageData = foo' का मतलब 'details.imageData = {'16': foo}' है -
पाथ
string | object ज़रूरी नहीं
इमेज का मिलता-जुलता पाथ या डिक्शनरी {size -> relative image path} जो सेट किए जाने वाले आइकॉन की ओर इशारा करती है. अगर आइकॉन को डिक्शनरी के तौर पर तय किया गया है, तो इस्तेमाल की जाने वाली असली इमेज को स्क्रीन की पिक्सल डेंसिटी के हिसाब से चुना जाता है. अगर स्क्रीन स्पेस की एक यूनिट में फ़िट होने वाले इमेज पिक्सल की संख्या
scaleके बराबर है, तोscale* n साइज़ वाली इमेज चुनी जाएगी. यहां n, यूज़र इंटरफ़ेस (यूआई) में आइकॉन का साइज़ है. कम से कम एक इमेज के बारे में बताना ज़रूरी है. ध्यान दें कि 'details.path = foo' का मतलब 'details.path = {'16': foo}' है -
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
रिटर्न
-
Promise<void>
Chrome 96 और इसके बाद के वर्शन
setPopup()
chrome.action.setPopup(
details: object,
): Promise<void>
इस विकल्प की मदद से, एचटीएमएल दस्तावेज़ को सेट किया जाता है. जब उपयोगकर्ता कार्रवाई के आइकॉन पर क्लिक करता है, तब यह दस्तावेज़ पॉप-अप के तौर पर खुलता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
पॉप-अप
स्ट्रिंग
पॉप-अप में दिखाने के लिए, एचटीएमएल फ़ाइल का रिलेटिव पाथ. अगर इसे खाली स्ट्रिंग (
'') पर सेट किया जाता है, तो कोई पॉप-अप नहीं दिखता. -
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
रिटर्न
-
Promise<void>
setTitle()
chrome.action.setTitle(
details: object,
): Promise<void>
इससे कार्रवाई का टाइटल सेट किया जाता है. यह टूलटिप में दिखता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
-
tabId
number optional
इस विकल्प से, बदलाव सिर्फ़ तब लागू होता है, जब कोई खास टैब चुना जाता है. टैब बंद होने पर, यह कुकी अपने-आप रीसेट हो जाती है.
-
title
स्ट्रिंग
माउस घुमाने पर कार्रवाई के लिए दिखने वाली स्ट्रिंग.
-
रिटर्न
-
Promise<void>
इवेंट
onClicked
chrome.action.onClicked.addListener(
callback: function,
)
इस इवेंट को तब ट्रिगर किया जाता है, जब किसी ऐक्शन आइकॉन पर क्लिक किया जाता है. अगर कार्रवाई में पॉप-अप है, तो यह इवेंट ट्रिगर नहीं होगा.
onUserSettingsChanged
chrome.action.onUserSettingsChanged.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब उपयोगकर्ता की ओर से तय की गई एक्सटेंशन की कार्रवाई से जुड़ी सेटिंग में बदलाव होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर ऐसा दिखता है:(change: UserSettingsChange) => void
-
बदलें
-