chrome.action

ब्यौरा

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

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

उपलब्धता

Chrome 88 और उसके बाद के वर्शन MV3 और उसके बाद के वर्शन

मेनिफ़ेस्ट

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

"action"

chrome.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() को भी कॉल किया जा सकता है. इसके लिए, किसी दूसरी इमेज का पाथ दें या HTML कैनवस एलिमेंट का इस्तेमाल करके, डाइनैमिक तौर पर जनरेट होने वाला आइकॉन दें. इसके अलावा, अगर एक्सटेंशन के सेवा वर्कर से सेट किया जा रहा है, तो ऑफ़स्क्रीन कैनवस एपीआई का इस्तेमाल करें.

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 पिक्सल के बीच होना चाहिए.

पॉप-अप को शुरुआत में, "default_popup" प्रॉपर्टी से "action" कुंजी में सेट किया जाता है manifest.json फ़ाइल. अगर यह मौजूद है, तो इस प्रॉपर्टी को एक्सटेंशन में मौजूद मिलते-जुलते पाथ पर ले जाना चाहिए डायरेक्ट्री. इसे डाइनैमिक तौर पर अपडेट किया जा सकता है, ताकि इसे 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-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
chrome.action.onClicked.addListener((tab) => {
  chrome.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
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

    number ज़रूरी नहीं

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

TabDetails

प्रॉपर्टी

  • tabId

    नंबर वैकल्पिक

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

UserSettings

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

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

प्रॉपर्टी

  • isOnToolbar

    बूलियन

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

UserSettingsChange

Chrome 130 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • isOnToolbar

    बूलियन ज़रूरी नहीं

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

तरीके

disable()

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

टैब के लिए कार्रवाई को बंद करता है.

पैरामीटर

  • tabId

    नंबर वैकल्पिक

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

enable()

प्रॉमिस
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

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

पैरामीटर

  • tabId

    नंबर वैकल्पिक

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • प्रॉमिस<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()

Promise Chrome 91 और उसके बाद के वर्शन के लिए
chrome.action.getUserSettings(
  callback?: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (userSettings: UserSettings) => void

रिटर्न

  • Promise<UserSettings>

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

isEnabled()

Promise Chrome 110 और उसके बाद के वर्शन के लिए
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

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

पैरामीटर

  • tabId

    नंबर वैकल्पिक

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (isEnabled: boolean) => void

    • isEnabled

      बूलियन

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

रिटर्न

  • Promise&lt;boolean&gt;

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

openPopup()

प्रॉमिस Chrome 127 और उसके बाद वाले वर्शन के लिए
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

एक्सटेंशन का पॉप-अप खोलता है. Chrome 118 और Chrome 126 के बीच, यह सुविधा सिर्फ़ नीति के हिसाब से इंस्टॉल किए गए एक्सटेंशन के लिए उपलब्ध है.

पैरामीटर

  • विकल्प

    OpenPopupOptions ज़रूरी नहीं

    पॉप-अप खोलने के विकल्प बताता है.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

setBadgeBackgroundColor()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      स्ट्रिंग | ColorArray

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

    • tabId

      नंबर वैकल्पिक

      यह बदलाव सिर्फ़ तब लागू होता है, जब कोई टैब चुना जाता है. टैब बंद होने पर, अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

setBadgeText()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

      नंबर वैकल्पिक

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

    • टेक्स्ट

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

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

setBadgeTextColor()

Promise Chrome 110 और उसके बाद के वर्शन के लिए
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      स्ट्रिंग | ColorArray

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

    • tabId

      नंबर वैकल्पिक

      यह बदलाव सिर्फ़ तब लागू होता है, जब कोई टैब चुना जाता है. टैब बंद होने पर, अपने-आप रीसेट हो जाता है.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

setIcon()

प्रॉमिस
chrome.action.setIcon(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • imageData

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

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

    • पाथ

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

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

    • tabId

      नंबर वैकल्पिक

      यह बदलाव सिर्फ़ तब लागू होता है, जब कोई टैब चुना जाता है. टैब बंद होने पर, अपने-आप रीसेट हो जाता है.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

setPopup()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • पॉप-अप

      स्ट्रिंग

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

    • tabId

      नंबर वैकल्पिक

      यह बदलाव सिर्फ़ तब लागू होता है, जब कोई टैब चुना जाता है. टैब बंद होने पर, अपने-आप रीसेट हो जाता है.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

setTitle()

प्रॉमिस
chrome.action.setTitle(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

      नंबर वैकल्पिक

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

    • title

      स्ट्रिंग

      कर्सर घुमाने पर, कार्रवाई के लिए दिखने वाली स्ट्रिंग.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

इवेंट

onClicked

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome 130 और उसके बाद वाले वर्शन
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (change: UserSettingsChange) => void