chrome.action

ब्यौरा

Google Chrome के टूलबार में एक्सटेंशन के आइकॉन को कंट्रोल करने के लिए, chrome.action API का इस्तेमाल करें.

कार्रवाई आइकॉन, खोज वाली पट्टी के आगे ब्राउज़र टूलबार में दिखते हैं. इंस्टॉल करने के बाद, ये एक्सटेंशन मेन्यू (पज़ल पीस आइकॉन) में दिखते हैं. उपयोगकर्ता आपके एक्सटेंशन आइकॉन को टूलबार में पिन कर सकते हैं.

उपलब्धता

Chrome 88+ MV3+

मेनिफ़ेस्ट

इस एपीआई का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में इन कुंजियों का एलान करना ज़रूरी है.

"action"

chrome.action एपीआई का इस्तेमाल करने के लिए, 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 जैसे कम इस्तेमाल होने वाले स्केल फ़ैक्टर वाले डिवाइस आम तौर पर ऐसे डिवाइस पर होते हैं जिन पर यह समस्या ज़्यादा होती है. इसलिए, हमारा सुझाव है कि आप अपने आइकॉन के लिए एक से ज़्यादा साइज़ दें. इससे, आने वाले समय में आपके एक्सटेंशन को आइकॉन डिसप्ले के साइज़ में होने वाले संभावित बदलावों से भी रोका जा सकता है.

एक्सटेंशन के आइकॉन को प्रोग्राम के हिसाब से सेट करने के लिए, 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);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

पैक किए गए एक्सटेंशन (.crx फ़ाइल से इंस्टॉल किए गए) के लिए, इमेज उन ज़्यादातर फ़ॉर्मैट में हो सकती हैं जिन्हें ब्लिंक रेंडरिंग इंजन दिखा सकता है. इनमें PNG, JPEG, BMP, ICO वगैरह शामिल हैं. SVG फ़ाइल का इस्तेमाल नहीं किया जा सकता. पैक नहीं किए गए एक्सटेंशन में PNG इमेज का इस्तेमाल किया जाना चाहिए.

टूलटिप (टाइटल)

टूलटिप या शीर्षक तब दिखता है, जब उपयोगकर्ता अपने माउस पॉइंटर को टूलबार में एक्सटेंशन के आइकॉन के ऊपर रखता है. यह बटन, फ़ोकस किए जाने पर स्क्रीन रीडर के बोले गए टेक्स्ट में भी शामिल होता है.

डिफ़ॉल्ट टूलटिप को, manifest.json में मौजूद "action" कुंजी के "default_title" फ़ील्ड का इस्तेमाल करके सेट किया गया है. action.setTitle() को कॉल करके, इसे प्रोग्राम के हिसाब से भी सेट किया जा सकता है.

बैज

कार्रवाइयों से, "बैज" दिखाया जा सकता है — आइकॉन के ऊपर टेक्स्ट का कुछ लेयर लगाया जाता है. इससे, ऐक्शन को अपडेट करके, एक्सटेंशन की स्थिति के बारे में कुछ जानकारी दिखाई जा सकती है, जैसे कि काउंटर. बैज में टेक्स्ट कॉम्पोनेंट और बैकग्राउंड का रंग होता है. जगह सीमित होने की वजह से, हमारा सुझाव है कि बैज के टेक्स्ट में चार या इससे कम वर्ण इस्तेमाल करें.

बैज बनाने के लिए, action.setBadgeBackgroundColor() और action.setBadgeText() को कॉल करके, इसे प्रोग्राम के हिसाब से सेट करें. मेनिफ़ेस्ट में बैज की कोई डिफ़ॉल्ट सेटिंग नहीं है. बैज के रंग की वैल्यू, 0 से 255 के बीच के चार पूर्णांकों की कैटगरी हो सकती है. इससे बैज का आरजीबीए रंग या सीएसएस के रंग की वैल्यू वाली स्ट्रिंग बनती है.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

किसी कार्रवाई का पॉप-अप तब दिखता है, जब उपयोगकर्ता टूलबार में एक्सटेंशन के ऐक्शन बटन पर क्लिक करता है. पॉप-अप में आपकी पसंद का कोई भी एचटीएमएल कॉन्टेंट शामिल हो सकता है. इसका साइज़, कॉन्टेंट के हिसाब से अपने-आप बदल जाएगा. पॉप-अप का साइज़ 25x25 और 800x600 पिक्सल के बीच होना चाहिए.

पॉप-अप को शुरुआत में, manifest.json फ़ाइल में मौजूद "action" कुंजी में "default_popup" प्रॉपर्टी से सेट किया जाता है. अगर यह मौजूद है, तो यह प्रॉपर्टी एक्सटेंशन डायरेक्ट्री में एक मिलते-जुलते पाथ की ओर इशारा करती है. इसे डाइनैमिक तरीके से भी अपडेट किया जा सकता है, ताकि action.setPopup() तरीके का इस्तेमाल करके किसी दूसरे रिलेटिव पाथ पर ले जाया जा सके.

इस्तेमाल के उदाहरण

हर टैब की स्थिति

एक्सटेंशन कार्रवाइयों के हर टैब के लिए, अलग-अलग स्थितियां हो सकती हैं. अगर आपको किसी एक टैब के लिए वैल्यू सेट करनी है, तो action एपीआई के सेटिंग के तरीकों में tabId प्रॉपर्टी का इस्तेमाल करें. उदाहरण के लिए, किसी खास टैब के लिए बैज का टेक्स्ट सेट करने के लिए, कुछ ऐसा करें:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

अगर tabId प्रॉपर्टी को शामिल नहीं किया जाता है, तो इस सेटिंग को ग्लोबल सेटिंग माना जाता है. ग्लोबल सेटिंग के बजाय, टैब के हिसाब से सेटिंग को प्राथमिकता दी जाती है.

चालू की गई स्थिति

डिफ़ॉल्ट रूप से, टूलबार की कार्रवाइयां हर टैब पर चालू (क्लिक की जा सकने वाली) होती हैं. action.enable() और action.disable() का इस्तेमाल करके, इसे कंट्रोल किया जा सकता है. इससे सिर्फ़ इस बात पर असर पड़ता है कि आपके एक्सटेंशन पर पॉप-अप (अगर कोई है) या action.onClicked इवेंट भेजा गया है या नहीं. इससे टूलबार में कार्रवाई की मौजूदगी पर कोई असर नहीं पड़ता.

उदाहरण

नीचे दिए गए उदाहरणों में, एक्सटेंशन में कार्रवाइयों को इस्तेमाल करने के कुछ सामान्य तरीके बताए गए हैं. इस एपीआई को आज़माने के लिए, chrome-extension-सैंपल डेटा स्टोर करने की जगह से ऐक्शन एपीआई का उदाहरण इंस्टॉल करें.

पॉप-अप दिखाएं

जब उपयोगकर्ता एक्सटेंशन की कार्रवाई पर क्लिक करता है, तो एक्सटेंशन के लिए पॉप-अप दिखाना आम बात है. इसे अपने एक्सटेंशन में लागू करने के लिए, अपने 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
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

जानकारी देने वाले कॉन्टेंट की मदद से कार्रवाइयों को एम्युलेट करें

इस उदाहरण में दिखाया गया है कि किस तरह किसी एक्सटेंशन का बैकग्राउंड लॉजिक (a) डिफ़ॉल्ट रूप से किसी कार्रवाई को बंद कर सकता है और (b) चुनिंदा साइटों पर कार्रवाई को चालू करने के लिए declarativeContent इस्तेमाल कर सकता है.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

टाइप

OpenPopupOptions

Chrome 99 के बाद के वर्शन

प्रॉपर्टी

  • windowId

    नंबर ज़रूरी नहीं

    उस विंडो का आईडी जिसमें कार्रवाई पॉप-अप को खोलना है. कोई जानकारी न होने पर, मौजूदा विंडो में डिफ़ॉल्ट तौर पर सेट होती है.

TabDetails

प्रॉपर्टी

  • tabId

    नंबर ज़रूरी नहीं

    उस टैब का आईडी जिसकी क्वेरी की स्थिति. अगर कोई टैब तय नहीं किया गया है, तो खास टैब के बजाय कोई अन्य स्थिति दिखेगी.

UserSettings

Chrome 91 और इसके बाद के वर्शन

किसी एक्सटेंशन की कार्रवाई से जुड़ी उपयोगकर्ता की तय की गई सेटिंग का संग्रह.

प्रॉपर्टी

  • isOnToolbar

    boolean

    एक्सटेंशन का कार्रवाई आइकॉन, ब्राउज़र विंडो के टॉप लेवल टूलबार पर दिख रहा है या नहीं (यानी, उपयोगकर्ता ने एक्सटेंशन को 'पिन किया' किया है या नहीं).

तरीके

disable()

वादा
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

इससे टैब की कार्रवाई बंद हो जाती है.

पैरामीटर

  • tabId

    नंबर ज़रूरी नहीं

    उस टैब का आईडी जिसके लिए आपको कार्रवाई में बदलाव करना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

enable()

वादा
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

किसी टैब के लिए कार्रवाई चालू करता है. डिफ़ॉल्ट रूप से, कार्रवाइयां चालू होती हैं.

पैरामीटर

  • tabId

    नंबर ज़रूरी नहीं

    उस टैब का आईडी जिसके लिए आपको कार्रवाई में बदलाव करना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getBadgeBackgroundColor()

वादा
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

ऐक्शन के बैकग्राउंड के रंग को दिखाता है.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (result: ColorArray)=>void

रिटर्न

  • प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getBadgeText()

वादा
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

कार्रवाई के बैज टेक्स्ट को दिखाता है. अगर कोई टैब नहीं चुना गया है, तो बैज टेक्स्ट के अलावा कोई खास टैब वापस नहीं दिया जाता. अगर displayActionCountAsBadgeText की सुविधा चालू है, तो प्लेसहोल्डर टेक्स्ट दिखाया जाएगा. ऐसा तब तक होगा, जब तक कि declarativeNetRequestFeedback अनुमति न दी गई हो या टैब के हिसाब से बैज टेक्स्ट न दिया गया हो.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (result: string)=>void

    • नतीजा

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getBadgeTextColor()

प्रॉमिस Chrome 110+
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

कार्रवाई के टेक्स्ट का रंग पाता है.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (result: ColorArray)=>void

रिटर्न

  • प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getPopup()

वादा
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

इस कार्रवाई के लिए एचटीएमएल दस्तावेज़ को पॉप-अप के तौर पर सेट करता है.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (result: string)=>void

    • नतीजा

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getTitle()

वादा
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

कार्रवाई का टाइटल बताता है.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (result: string)=>void

    • नतीजा

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

getUserSettings()

प्रॉमिस Chrome 91+
chrome.action.getUserSettings(
  callback?: function,
)

किसी एक्सटेंशन की कार्रवाई से जुड़ी उपयोगकर्ता की तय की गई सेटिंग दिखाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (userSettings: UserSettings)=>void

रिटर्न

  • Promise<UserSettings>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

isEnabled()

प्रॉमिस Chrome 110+
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

इससे पता चलता है कि एक्सटेंशन की कार्रवाई किसी टैब के लिए चालू है या नहीं. अगर tabId नहीं दिया गया है, तो दुनिया भर में. सिर्फ़ declarativeContent का इस्तेमाल करके चालू की गई कार्रवाइयां, हमेशा 'गलत' दिखाती हैं.

पैरामीटर

  • tabId

    नंबर ज़रूरी नहीं

    उस टैब का आईडी जिसके लिए आपको 'चालू है' स्टेटस देखना है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (isEnabled: boolean)=>void

    • isEnabled

      boolean

      अगर एक्सटेंशन कार्रवाई चालू है, तो सही.

रिटर्न

  • Promise<boolean>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

openPopup()

प्रॉमिस Chrome 118+ नीति ज़रूरी है
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

एक्सटेंशन का पॉप-अप खोलता है.

पैरामीटर

  • विकल्प

    OpenPopupOptions ज़रूरी नहीं

    पॉप-अप खोलने के विकल्पों के बारे में जानकारी देती है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setBadgeBackgroundColor()

वादा
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

बैज के लिए बैकग्राउंड का रंग सेट करता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      स्ट्रिंग|ColorArray

      [0,255] की रेंज में चार पूर्णांकों का कलेक्शन, जो बैज के आरजीबीए रंग को तय करता है. उदाहरण के लिए, ओपेक लाल [255, 0, 0, 255] है. यह सीएसएस वैल्यू वाली स्ट्रिंग भी हो सकती है. इसमें, ओपेक लाल रंग #FF0000 या #F00 होता है.

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setBadgeText()

वादा
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

कार्रवाई के लिए बैज का टेक्स्ट सेट करता है. यह बैज, आइकॉन में सबसे ऊपर दिखता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

    • टेक्स्ट

      स्ट्रिंग ज़रूरी नहीं

      कितने भी वर्ण पास किए जा सकते हैं, लेकिन स्पेस में सिर्फ़ चार वर्ण फ़िट हो सकते हैं. अगर खाली स्ट्रिंग ('') पास की जाती है, तो बैज का टेक्स्ट मिटा दिया जाता है. अगर tabId बताया गया है और text शून्य है, तो तय किए गए टैब का टेक्स्ट मिटा दिया जाएगा और डिफ़ॉल्ट रूप से ग्लोबल बैज टेक्स्ट दिखेगा.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setBadgeTextColor()

प्रॉमिस Chrome 110+
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

बैज के लिए टेक्स्ट का रंग सेट करता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      स्ट्रिंग|ColorArray

      [0,255] की रेंज में चार पूर्णांकों का कलेक्शन, जो बैज के आरजीबीए रंग को तय करता है. उदाहरण के लिए, ओपेक लाल [255, 0, 0, 255] है. यह सीएसएस वैल्यू वाली स्ट्रिंग भी हो सकती है. इसमें, ओपेक लाल रंग #FF0000 या #F00 होता है. इस वैल्यू को सेट नहीं करने पर, अपने-आप एक ऐसा रंग चुन लिया जाएगा जो बैज के बैकग्राउंड के रंग से अलग होगा, ताकि टेक्स्ट दिखे. 0 के बराबर अल्फ़ा वैल्यू वाले रंग सेट नहीं किए जाएंगे और वे गड़बड़ी दिखाएंगे.

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setIcon()

वादा
chrome.action.setIcon(
  details: object,
  callback?: function,
)

कार्रवाई के लिए आइकॉन सेट करता है. आइकॉन की जानकारी, किसी इमेज फ़ाइल के पाथ या कैनवस एलिमेंट के पिक्सल डेटा के तौर पर दी जा सकती है. इसके अलावा, इन दोनों में से किसी एक की डिक्शनरी के तौर पर भी इसका इस्तेमाल किया जा सकता है. पाथ या imageData प्रॉपर्टी के बारे में बताना ज़रूरी है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • imageData

      ImageData|ऑब्जेक्ट ज़रूरी नहीं

      सेट किए जाने वाले आइकॉन को दिखाने के लिए, ImageData ऑब्जेक्ट या डिक्शनरी {size -> ImageData} का इस्तेमाल करें. अगर आइकॉन को डिक्शनरी के तौर पर सेट किया गया है, तो इस्तेमाल की जाने वाली असल इमेज को स्क्रीन के पिक्सल की सघनता के आधार पर चुना जाता है. अगर एक स्क्रीन स्पेस यूनिट में फ़िट होने वाले इमेज पिक्सल की संख्या scale के बराबर है, तो scale * n साइज़ वाली इमेज चुनी जाएगी. यहां n, यूज़र इंटरफ़ेस (यूआई) में दिखने वाले आइकॉन का साइज़ होगा. कम से कम एक इमेज का होना ज़रूरी है. ध्यान दें कि 'details.imageData = foo', 'details.imageData = {'16': foo}' के बराबर है

    • पाथ

      स्ट्रिंग|ऑब्जेक्ट ज़रूरी नहीं

      रिलेटिव इमेज पाथ या शब्दकोश {size ->रिलेटिव इमेज पाथ} है, जो सेट किए जाने वाले आइकॉन की ओर इशारा करता है. अगर आइकॉन को डिक्शनरी के तौर पर सेट किया गया है, तो इस्तेमाल की जाने वाली असल इमेज को स्क्रीन के पिक्सल की सघनता के आधार पर चुना जाता है. अगर एक स्क्रीन स्पेस यूनिट में फ़िट होने वाले इमेज पिक्सल की संख्या scale के बराबर है, तो scale * n साइज़ वाली इमेज चुनी जाएगी. यहां n, यूज़र इंटरफ़ेस (यूआई) में दिखने वाले आइकॉन का साइज़ होगा. कम से कम एक इमेज का होना ज़रूरी है. ध्यान दें कि 'details.path = foo', 'details.path = {'16': foo}' के बराबर है

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    Chrome 96 के बाद के वर्शन

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setPopup()

वादा
chrome.action.setPopup(
  details: object,
  callback?: function,
)

जब उपयोगकर्ता कार्रवाई के आइकॉन पर क्लिक करता है, तब एचटीएमएल दस्तावेज़ को पॉप-अप के तौर पर सेट करता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • पॉप-अप

      स्ट्रिंग

      पॉप-अप में दिखाने के लिए, एचटीएमएल फ़ाइल का रिलेटिव पाथ. अगर इसे खाली स्ट्रिंग ('') पर सेट किया जाता है, तो कोई पॉप-अप नहीं दिखेगा.

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

setTitle()

वादा
chrome.action.setTitle(
  details: object,
  callback?: function,
)

कार्रवाई का शीर्षक सेट करता है. यह टूलटिप में दिखता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

      नंबर ज़रूरी नहीं

      इस बदलाव से यह तय होता है कि कोई खास टैब चुना जाए या नहीं. टैब बंद होने पर, यह अपने-आप रीसेट हो जाता है.

    • title

      स्ट्रिंग

      वह स्ट्रिंग जिस पर कर्सर ले जाने पर कार्रवाई दिखनी चाहिए.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    ()=>void

रिटर्न

  • Promise<void>

    प्रॉमिस, मेनिफ़ेस्ट V3 और इसके बाद के वर्शन में काम करता है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए कॉलबैक दिए जाते हैं. आप एक ही फ़ंक्शन कॉल पर दोनों का इस्तेमाल नहीं कर सकते. प्रॉमिस उसी टाइप के साथ रिज़ॉल्व हो जाती है जिसे कॉलबैक को पास किया जाता है.

इवेंट

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

ऐक्शन आइकॉन पर क्लिक करने पर सक्रिय होता है. अगर कार्रवाई में पॉप-अप है, तो यह इवेंट सक्रिय नहीं होगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (tab: tabs.Tab)=>void