chrome.action

ब्यौरा

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

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

उपलब्धता

Chrome 88 और उसके बाद के वर्शन संगीत वीडियो 3+

मेनिफ़ेस्ट

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

"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" कुंजियों को शामिल करें.

सिद्धांत और उनका इस्तेमाल

यूज़र इंटरफ़ेस (यूआई) के हिस्से

आइकॉन

यह आइकॉन आपके एक्सटेंशन के टूलबार पर मुख्य इमेज है. साथ ही, इसे इसमें "default_icon" कुंजी के ज़रिए सेट किया गया है की "action" कुंजी होनी चाहिए. आइकॉन की चौड़ाई और ऊंचाई 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!');

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

इस उदाहरण में दिखाया गया है कि किसी एक्सटेंशन का बैकग्राउंड लॉजिक, (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

    बूलियन

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

तरीके

disable()

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

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

पैरामीटर

  • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

enable()

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

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

पैरामीटर

  • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

    मेनिफ़ेस्ट 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&lt;UserSettings&gt;

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

isEnabled()

प्रॉमिस Chrome 110 और उसके बाद के वर्शन वाले डिवाइसों पर
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

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

पैरामीटर

  • tabId

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

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

  • कॉलबैक

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

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

    (isEnabled: boolean) => void

    • isEnabled

      बूलियन

      एक्सटेंशन की कार्रवाई चालू होने पर, 'सही'.

रिटर्न

  • Promise&lt;boolean&gt;

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

openPopup()

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

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

पैरामीटर

  • विकल्प

    OpenPopupOptions ज़रूरी नहीं

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

setBadgeBackgroundColor()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      string | ColorArray

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

    • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

setBadgeText()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

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

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

    • टेक्स्ट

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

setBadgeTextColor()

प्रॉमिस Chrome 110 और उसके बाद के वर्शन वाले डिवाइसों पर
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • रंग

      string | ColorArray

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

    • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

setIcon()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • इमेज डेटा

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

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

    • पाथ

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

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

    • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

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

setPopup()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • पॉप-अप

      स्ट्रिंग

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

    • tabId

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

setTitle()

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

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

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

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

    • title

      स्ट्रिंग

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise&lt;void&gt;

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

इवेंट

onClicked

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tab: tabs.Tab) => void