chrome.tabs

ब्यौरा

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

Tabs API, टैब को मैनेज करने और उनमें बदलाव करने की सुविधाएं देता है. साथ ही, यह टैब की भाषा का पता लगा सकता है, स्क्रीनशॉट ले सकता है, और टैब की कॉन्टेंट स्क्रिप्ट के साथ कम्यूनिकेट कर सकता है.

अनुमतियां

ज़्यादातर सुविधाओं का इस्तेमाल करने के लिए, किसी अनुमति की ज़रूरत नहीं होती. उदाहरण के लिए: नया टैब बनाना, टैब को फिर से लोड करना, किसी दूसरे यूआरएल पर नेविगेट करना वगैरह.

Tabs API का इस्तेमाल करते समय, डेवलपर को तीन अनुमतियों के बारे में पता होना चाहिए.

"टैब" की अनुमति

इस अनुमति से chrome.tabs नेमस्पेस को ऐक्सेस नहीं किया जा सकता. इसके बजाय, यह एक्सटेंशन को tabs.Tab इंस्टेंस पर मौजूद चार संवेदनशील प्रॉपर्टी के लिए, tabs.query() को कॉल करने की अनुमति देता है: url, pendingUrl, title, और favIconUrl.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
होस्ट की अनुमतियां

होस्ट की अनुमतियों की मदद से, एक्सटेंशन किसी टैब से मिलती-जुलती चार संवेदनशील tabs.Tab प्रॉपर्टी को पढ़ सकता है और उनसे जुड़ी क्वेरी कर सकता है. वे tabs.captureVisibleTab(), scripting.executeScript(), scripting.insertCSS(), और scripting.removeCSS() जैसे तरीकों का इस्तेमाल करके, मिलते-जुलते टैब के साथ सीधे तौर पर इंटरैक्ट भी कर सकते हैं.

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
"activeTab" अनुमति

activeTab, उपयोगकर्ता के अनुरोध पर, मौजूदा टैब के लिए एक्सटेंशन को कुछ समय के लिए होस्ट करने की अनुमति देता है. होस्ट की अनुमतियों के उलट, activeTab से कोई चेतावनी ट्रिगर नहीं होती.

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

उपयोग के उदाहरण

यहां दिए गए सेक्शन में, इस्तेमाल के कुछ सामान्य उदाहरण दिए गए हैं.

किसी एक्सटेंशन के पेज को नए टैब में खोलना

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

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

मौजूदा टैब की जानकारी पाना

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

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

चुने गए टैब को म्यूट करें

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

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

इस पर क्लिक करने पर, मौजूदा टैब को पहली पोज़िशन पर ले जाएं

इस उदाहरण में दिखाया गया है कि ड्रैग करने की प्रोसेस के दौरान, टैब को कैसे ट्रांसफ़र किया जाता है. इस उदाहरण में chrome.tabs.move का इस्तेमाल किया गया है. हालांकि, ड्रैग करने की प्रोसेस के दौरान टैब में बदलाव करने वाले अन्य कॉल के लिए भी, इंतज़ार करने के इसी पैटर्न का इस्तेमाल किया जा सकता है.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

चुने गए टैब की कॉन्टेंट स्क्रिप्ट को मैसेज पास करना

इस उदाहरण में दिखाया गया है कि एक्सटेंशन का सर्विस वर्कर, tabs.sendMessage() का इस्तेमाल करके ब्राउज़र के कुछ टैब में मौजूद कॉन्टेंट स्क्रिप्ट से कैसे कम्यूनिकेट कर सकता है.

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

एक्सटेंशन के उदाहरण

Tabs API एक्सटेंशन के अन्य डेमो देखने के लिए, इनमें से कोई भी विकल्प चुनें:

टाइप

MutedInfo

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

टैब के म्यूट होने की स्थिति और पिछली बार स्थिति में बदलाव होने की वजह.

प्रॉपर्टी

  • extensionId

    string ज़रूरी नहीं है

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

  • म्यूट किया गया

    बूलियन

    क्या टैब म्यूट किया गया है (आवाज़ चलाने से रोका गया है). ऐसा हो सकता है कि टैब म्यूट हो, भले ही उसमें आवाज़ न आ रही हो या फ़िलहाल आवाज़ न चल रही हो. यह इस बात के बराबर है कि ऑडियो इंडिकेटर 'म्यूट किया गया' दिख रहा है या नहीं.

  • वजह

    MutedInfoReason optional

    टैब को म्यूट या अनम्यूट करने की वजह. अगर टैब को म्यूट करने की स्थिति में कभी नहीं बदला गया है, तो यह कुकी सेट नहीं की जाती.

MutedInfoReason

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

वह इवेंट जिसकी वजह से म्यूट किए गए स्टेटस में बदलाव हुआ.

Enum

"user"
उपयोगकर्ता के इनपुट की वजह से, वीडियो म्यूट हो गया.

"capture"
टैब कैप्चर करना शुरू कर दिया गया है. इससे, म्यूट किए गए टैब की स्थिति में बदलाव हुआ है.

"extension"
extensionId फ़ील्ड से पहचाने गए एक्सटेंशन ने म्यूट की स्थिति सेट की है.

Tab

प्रॉपर्टी

  • सक्रिय

    बूलियन

    इससे पता चलता है कि टैब, विंडो में ऐक्टिव है या नहीं. इसका यह मतलब नहीं है कि विंडो फ़ोकस की गई है.

  • Audible

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

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

    क्या टैब से पिछले कुछ सेकंड में आवाज़ आई है. हालांकि, अगर टैब म्यूट है, तो आवाज़ नहीं सुनाई देगी. यह इस बात के बराबर है कि 'स्पीकर का ऑडियो' इंडिकेटर दिख रहा है या नहीं.

  • autoDiscardable

    बूलियन

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

    क्या संसाधन कम होने पर, ब्राउज़र टैब को अपने-आप बंद कर सकता है.

  • खारिज किया गया

    बूलियन

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

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

  • favIconUrl

    string ज़रूरी नहीं है

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

  • फ़्रीज़ किया गया

    बूलियन

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

    टैब फ़्रीज़ किया गया है या नहीं. फ़्रीज़ किया गया टैब, इवेंट हैंडलर या टाइमर जैसे टास्क पूरे नहीं कर सकता. यह टैब स्ट्रिप में दिखता है और इसका कॉन्टेंट मेमोरी में लोड होता है. चालू करने पर, यह अनफ़्रीज़ हो जाता है.

  • groupId

    संख्या

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

    उस ग्रुप का आईडी जिससे टैब जुड़ा है.

  • ऊंचाई

    number ज़रूरी नहीं

    पिक्सल में टैब की ऊंचाई.

  • हाइलाइट की गई

    बूलियन

    इससे पता चलता है कि टैब हाइलाइट किया गया है या नहीं.

  • आईडी

    number ज़रूरी नहीं

    टैब का आईडी. टैब आईडी, ब्राउज़र सेशन में यूनीक होते हैं. कुछ मामलों में, टैब को आईडी असाइन नहीं किया जा सकता. उदाहरण के लिए, sessions एपीआई का इस्तेमाल करके, बाहरी टैब के बारे में क्वेरी करते समय. ऐसे मामले में, सेशन आईडी मौजूद हो सकता है. ऐप्लिकेशन और DevTools विंडो के लिए, टैब आईडी को chrome.tabs.TAB_ID_NONE पर भी सेट किया जा सकता है.

  • गुप्त

    बूलियन

    यह टैब किसी गुप्त विंडो में है या नहीं.

  • इंडेक्स

    संख्या

    यह टैब की विंडो में मौजूद टैब का ज़ीरो-आधारित इंडेक्स होता है.

  • lastAccessed

    संख्या

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

    यह टैब पिछली बार अपनी विंडो में कब ऐक्टिव हुआ था. यह जानकारी, epoch के बाद से मिलीसेकंड की संख्या के तौर पर दी जाती है.

  • mutedInfo

    MutedInfo optional

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

    टैब के म्यूट होने की स्थिति और पिछली बार स्थिति में बदलाव होने की वजह.

  • openerTabId

    number ज़रूरी नहीं

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

  • pendingUrl

    string ज़रूरी नहीं है

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

    वह यूआरएल जिस पर टैब नेविगेट कर रहा है. हालांकि, यह तब तक नहीं होता, जब तक टैब नेविगेट करने की प्रोसेस पूरी नहीं हो जाती. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास "tabs" अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों और कोई नेविगेशन लंबित हो.

  • पिन किया गया

    बूलियन

    इससे पता चलता है कि टैब पिन किया गया है या नहीं.

  • चुना गया

    बूलियन

    अब सेवा में नहीं है

    कृपया tabs.Tab.highlighted का इस्तेमाल करें.

    टैब चुना गया है या नहीं.

  • sessionId

    string ज़रूरी नहीं है

    इस सेशन आईडी का इस्तेमाल, sessions एपीआई से मिले टैब की पहचान करने के लिए किया जाता है.

  • स्थिति

    TabStatus ज़रूरी नहीं है

    टैब के लोड होने की स्थिति.

  • title

    string ज़रूरी नहीं है

    टैब का टाइटल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास "tabs" अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों.

  • url

    string ज़रूरी नहीं है

    टैब के मुख्य फ़्रेम का आखिरी बार सबमिट किया गया यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास "tabs" अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों. अगर टैब ने अब तक कमिट नहीं किया है, तो यह एक खाली स्ट्रिंग हो सकती है. Tab.pendingUrl भी देखें.

  • चौड़ाई

    number ज़रूरी नहीं

    पिक्सल में टैब की चौड़ाई.

  • windowId

    संख्या

    उस विंडो का आईडी जिसमें टैब मौजूद है.

TabStatus

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

टैब के लोड होने की स्थिति.

Enum

"unloaded"

"loading"

"complete"

WindowType

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

विंडो किस तरह की है.

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

इससे यह तय होता है कि किसी टैब में ज़ूम के बदलावों को कैसे हैंडल किया जाता है और किस स्कोप में.

प्रॉपर्टी

  • defaultZoomFactor

    number ज़रूरी नहीं

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

    इस कुकी का इस्तेमाल, tabs.getZoomSettings को कॉल करने पर, मौजूदा टैब के लिए डिफ़ॉल्ट ज़ूम लेवल को वापस लाने के लिए किया जाता है.

  • मोड

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

  • दायरा

    इससे यह तय होता है कि ज़ूम के बदलाव, पेज के ऑरिजिन के लिए बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे. automatic मोड में होने पर, इसकी डिफ़ॉल्ट वैल्यू per-origin होती है. वहीं, अन्य मोड में इसकी डिफ़ॉल्ट वैल्यू per-tab होती है.

ZoomSettingsMode

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

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

Enum

"automatic"
ज़ूम के बदलावों को ब्राउज़र अपने-आप मैनेज करता है.

"मैन्युअल"
ज़ूम के बदलावों को अपने-आप मैनेज करने की सुविधा को बंद कर देता है. onZoomChange इवेंट अब भी भेजा जाएगा. इस इवेंट को सुनने और पेज को मैन्युअल तरीके से स्केल करने की ज़िम्मेदारी एक्सटेंशन की होगी. इस मोड में, per-origin ज़ूम करने की सुविधा काम नहीं करती. इसलिए, यह scope ज़ूम सेटिंग को अनदेखा करता है और per-tab को डिफ़ॉल्ट सेटिंग के तौर पर इस्तेमाल करता है.

"disabled"
इस विकल्प को चुनने पर, टैब में ज़ूम करने की सुविधा बंद हो जाती है. टैब, ज़ूम के डिफ़ॉल्ट लेवल पर वापस आ जाता है. साथ ही, ज़ूम के लेवल में किए गए सभी बदलावों को अनदेखा कर दिया जाता है.

ZoomSettingsScope

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

इससे यह तय होता है कि ज़ूम के बदलाव, पेज के ऑरिजिन के लिए बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे. automatic मोड में होने पर, इसकी डिफ़ॉल्ट वैल्यू per-origin होती है. वहीं, अन्य मोड में इसकी डिफ़ॉल्ट वैल्यू per-tab होती है.

Enum

"per-origin"
ज़ूम किए गए पेज के ओरिजिन में ज़ूम के बदलाव बने रहते हैं. इसका मतलब है कि उस ओरिजिन पर नेविगेट किए गए अन्य सभी टैब भी ज़ूम किए जाते हैं. इसके अलावा, per-origin ज़ूम के बदलावों को ओरिजिन के साथ सेव किया जाता है. इसका मतलब है कि एक ही ओरिजिन के अन्य पेजों पर नेविगेट करते समय, वे सभी एक ही ज़ूम फ़ैक्टर पर ज़ूम किए जाते हैं. per-origin स्कोप सिर्फ़ automatic मोड में उपलब्ध है.

"per-tab"
ज़ूम लेवल में किए गए बदलाव सिर्फ़ इस टैब पर लागू होते हैं. साथ ही, दूसरे टैब के ज़ूम लेवल में किए गए बदलावों का असर इस टैब के ज़ूम लेवल पर नहीं पड़ता. इसके अलावा, per-tab नेविगेशन पर ज़ूम के बदलाव रीसेट हो जाते हैं; किसी टैब पर नेविगेट करने से, पेज हमेशा अपने per-origin ज़ूम फ़ैक्टर के साथ लोड होते हैं.

प्रॉपर्टी

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

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

captureVisibleTab को हर सेकंड में ज़्यादा से ज़्यादा कितनी बार कॉल किया जा सकता है. captureVisibleTab महंगा है और इसे बार-बार कॉल नहीं किया जाना चाहिए.

मान

2

TAB_ID_NONE

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

यह आईडी, ब्राउज़र टैब के मौजूद न होने की जानकारी देता है.

मान

-1

TAB_INDEX_NONE

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

यह इंडेक्स, tab_strip में टैब इंडेक्स के मौजूद न होने की जानकारी देता है.

मान

-1

तरीके

captureVisibleTab()

प्रॉमिस
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

यह कुकी, चुनी गई विंडो में मौजूद मौजूदा टैब के दिखने वाले हिस्से को कैप्चर करती है. इस तरीके को कॉल करने के लिए, एक्सटेंशन के पास <all_urls> अनुमति या activeTab अनुमति होनी चाहिए. आम तौर पर, एक्सटेंशन जिन साइटों को ऐक्सेस कर सकते हैं उनके अलावा, इस तरीके से एक्सटेंशन उन संवेदनशील साइटों को भी कैप्चर कर सकते हैं जिन पर आम तौर पर पाबंदी होती है. इनमें chrome:-स्कीम वाले पेज, अन्य एक्सटेंशन के पेज, और data: यूआरएल शामिल हैं. इन संवेदनशील साइटों को सिर्फ़ activeTab अनुमति के साथ कैप्चर किया जा सकता है. फ़ाइल के यूआरएल सिर्फ़ तब कैप्चर किए जा सकते हैं, जब एक्सटेंशन को फ़ाइल का ऐक्सेस दिया गया हो.

पैरामीटर

  • windowId

    number ज़रूरी नहीं

    टारगेट विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.

  • विकल्प

    ImageDetails optional

  • कॉलबैक

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

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

    (dataUrl: string) => void

    • dataUrl

      स्ट्रिंग

      यह एक डेटा यूआरएल है. यह कैप्चर किए गए टैब के दिखने वाले हिस्से की इमेज को एन्कोड करता है. इसे दिखाने के लिए, एचटीएमएल img एलिमेंट की 'src' प्रॉपर्टी को असाइन किया जा सकता है.

रिटर्न

  • Promise<string>

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

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

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

यह कुकी, चुने गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट से कनेक्ट होती है. runtime.onConnect इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है. ज़्यादा जानकारी के लिए, कॉन्टेंट स्क्रिप्ट मैसेजिंग देखें.

पैरामीटर

  • tabId

    संख्या

  • connectInfo

    object ज़रूरी नहीं है

    • documentId

      string ज़रूरी नहीं है

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

      टैब में मौजूद सभी फ़्रेम के बजाय, documentId से पहचाने गए किसी खास दस्तावेज़ के लिए पोर्ट खोलता है.

    • frameId

      number ज़रूरी नहीं

      टैब में मौजूद सभी फ़्रेम के बजाय, frameId से पहचाने गए किसी खास फ़्रेम के लिए पोर्ट खोलें.

    • नाम

      string ज़रूरी नहीं है

      इसे onConnect में पास किया जाता है. यह उन कॉन्टेंट स्क्रिप्ट के लिए होता है जो कनेक्शन इवेंट को सुन रही हैं.

रिटर्न

  • यह एक ऐसा पोर्ट है जिसका इस्तेमाल, तय किए गए टैब में चल रही कॉन्टेंट स्क्रिप्ट से कम्यूनिकेट करने के लिए किया जा सकता है. अगर टैब बंद हो जाता है या मौजूद नहीं होता है, तो पोर्ट का runtime.Port इवेंट ट्रिगर होता है.

create()

प्रॉमिस
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

इससे एक नया टैब खुलता है.

पैरामीटर

  • createProperties

    ऑब्जेक्ट

    • सक्रिय

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

      टैब को विंडो में ऐक्टिव टैब के तौर पर सेट किया जाना चाहिए या नहीं. इससे इस बात पर कोई असर नहीं पड़ता कि विंडो फ़ोकस की गई है या नहीं (windows.update देखें). डिफ़ॉल्ट रूप से इसकी वैल्यू true होती है.

    • इंडेक्स

      number ज़रूरी नहीं

      विंडो में टैब की पोज़िशन. दी गई वैल्यू को, विंडो में मौजूद टैब की संख्या और शून्य के बीच रखा जाता है.

    • openerTabId

      number ज़रूरी नहीं

      इस टैब को खोलने वाले टैब का आईडी. अगर ऐसा तय किया गया है, तो ओपनर टैब उसी विंडो में होना चाहिए जिसमें नया टैब बनाया गया है.

    • पिन किया गया

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

      टैब को पिन किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से false पर सेट होता है

    • चुना गया

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

      अब सेवा में नहीं है

      कृपया चालू है का इस्तेमाल करें.

      क्या टैब को विंडो में चुना गया टैब बनाना चाहिए. डिफ़ॉल्ट रूप से true पर सेट होता है

    • url

      string ज़रूरी नहीं है

      वह यूआरएल जिस पर टैब को शुरू में नेविगेट करना है. पूरी तरह से क्वालिफ़ाइड यूआरएल में कोई स्कीम शामिल होनी चाहिए. जैसे, 'http://www.google.com' होना चाहिए, न कि 'www.google.com'). रिलेटिव यूआरएल, एक्सटेंशन में मौजूद मौजूदा पेज के हिसाब से होते हैं. डिफ़ॉल्ट रूप से, यह New Tab Page पर सेट होता है.

    • windowId

      number ज़रूरी नहीं

      वह विंडो जिसमें नया टैब बनाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.

  • कॉलबैक

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

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

    (tab: Tab) => void

    • टैब

      बनाया गया टैब.

रिटर्न

  • Promise<Tab>

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

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

detectLanguage()

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

यह कुकी, किसी टैब में मौजूद कॉन्टेंट की मुख्य भाषा का पता लगाती है.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

    यह मौजूदा विंडो के चालू टैब पर डिफ़ॉल्ट रूप से सेट होता है.

  • कॉलबैक

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

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

    (language: string) => void

    • भाषा

      स्ट्रिंग

      आईएसओ भाषा कोड, जैसे कि en या fr. इस तरीके के साथ काम करने वाली भाषाओं की पूरी सूची के लिए, kLanguageInfoTable देखें. दूसरे से चौथे कॉलम की जांच की जाती है और पहली ऐसी वैल्यू दिखाई जाती है जो शून्य नहीं है. हालांकि, सरलीकृत चीनी के लिए zh-CN दिखाया जाता है. अगर भाषा की जानकारी नहीं है, तो und वैल्यू मिलती है.

रिटर्न

  • Promise<string>

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

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

discard()

Promise Chrome 54 या इसके बाद के वर्शन
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

      अगर टैब को खारिज कर दिया गया है, तो खारिज किया गया टैब; अगर ऐसा नहीं हुआ है, तो undefined.

रिटर्न

  • Promise<Tab | undefined>

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

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

duplicate()

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

यह किसी टैब का डुप्लीकेट बनाता है.

पैरामीटर

  • tabId

    संख्या

    उस टैब का आईडी जिसका डुप्लीकेट बनाना है.

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

      डुप्लीकेट किए गए टैब के बारे में जानकारी. url, pendingUrl, title, और favIconUrl प्रॉपर्टी सिर्फ़ tabs.Tab ऑब्जेक्ट में शामिल की जाती हैं. ऐसा तब होता है, जब एक्सटेंशन के पास "tabs" अनुमति हो या उसके पास पेज के लिए होस्ट की अनुमतियां हों.

रिटर्न

  • Promise<Tab | undefined>

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

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

get()

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

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

पैरामीटर

  • tabId

    संख्या

  • कॉलबैक

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

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

    (tab: Tab) => void

रिटर्न

  • Promise<Tab>

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

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

getCurrent()

प्रॉमिस
chrome.tabs.getCurrent(
  callback?: function,
)

उस टैब को दिखाता है जिससे यह स्क्रिप्ट कॉल किया जा रहा है. अगर इसे टैब के अलावा किसी अन्य कॉन्टेक्स्ट (जैसे, बैकग्राउंड पेज या पॉप-अप व्यू) से कॉल किया जाता है, तो यह undefined दिखाता है.

पैरामीटर

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

रिटर्न

  • Promise<Tab | undefined>

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

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

getZoom()

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

किसी टैब का मौजूदा ज़ूम फ़ैक्टर पता चलता है.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • कॉलबैक

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

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

    (zoomFactor: number) => void

    • zoomFactor

      संख्या

      टैब का मौजूदा ज़ूम लेवल.

रिटर्न

  • Promise<number>

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

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

getZoomSettings()

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

यह फ़ंक्शन, किसी टैब की मौजूदा ज़ूम सेटिंग को दिखाता है.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

    यह उस टैब का आईडी होता है जिससे ज़ूम की मौजूदा सेटिंग मिलती हैं. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो का ऐक्टिव टैब होता है.

  • कॉलबैक

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      टैब की ज़ूम करने की मौजूदा सेटिंग.

रिटर्न

  • Promise<ZoomSettings>

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

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

goBack()

Promise Chrome 72 या इसके बाद के वर्शन
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

अगर कोई पिछला पेज उपलब्ध है, तो उस पर वापस जाएं.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

goForward()

Promise Chrome 72 या इसके बाद के वर्शन
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

अगर कोई अगला पेज उपलब्ध है, तो उस पर जाएं.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

group()

Promise Chrome 88 या इसके बाद के वर्शन
chrome.tabs.group(
  options: object,
  callback?: function,
)

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

पैरामीटर

  • विकल्प

    ऑब्जेक्ट

    • createProperties

      object ज़रूरी नहीं है

      ग्रुप बनाने के लिए कॉन्फ़िगरेशन. अगर groupId पहले से तय है, तो इसका इस्तेमाल नहीं किया जा सकता.

      • windowId

        number ज़रूरी नहीं

        नए ग्रुप की विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.

    • groupId

      number ज़रूरी नहीं

      उस ग्रुप का आईडी जिसमें टैब जोड़ने हैं. अगर कोई ग्रुप नहीं चुना जाता है, तो एक नया ग्रुप बनाया जाएगा.

    • tabIds

      number | [number, ...number[]]

      ग्रुप में जोड़ने के लिए टैब आईडी या टैब आईडी की सूची.

  • कॉलबैक

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

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

    (groupId: number) => void

    • groupId

      संख्या

      उस ग्रुप का आईडी जिसमें टैब जोड़े गए थे.

रिटर्न

  • Promise<number>

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

highlight()

प्रॉमिस
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

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

पैरामीटर

  • highlightInfo

    ऑब्जेक्ट

    • टैब

      number | number[]

      हाइलाइट करने के लिए एक या उससे ज़्यादा टैब इंडेक्स.

    • windowId

      number ज़रूरी नहीं

      वह विंडो जिसमें टैब मौजूद हैं.

  • कॉलबैक

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

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

    (window: Window) => void

    • विंडो

      इसमें उस विंडो के बारे में जानकारी होती है जिसके टैब हाइलाइट किए गए थे.

रिटर्न

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

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

move()

प्रॉमिस
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

इस कुकी का इस्तेमाल एक या उससे ज़्यादा टैब को उसकी विंडो में नई जगह पर ले जाने या नई विंडो में ले जाने के लिए किया जाता है. ध्यान दें कि टैब को सिर्फ़ सामान्य (window.type === "normal") विंडो में ले जाया जा सकता है.

पैरामीटर

  • tabIds

    number | number[]

    जिस टैब को दूसरी जगह ले जाना है उसका आईडी या टैब आईडी की सूची.

  • moveProperties

    ऑब्जेक्ट

    • इंडेक्स

      संख्या

      विंडो को ले जाने की जगह. विंडो के आखिर में टैब रखने के लिए, -1 का इस्तेमाल करें.

    • windowId

      number ज़रूरी नहीं

      डिफ़ॉल्ट रूप से, यह उस विंडो पर सेट होता है जिसमें टैब मौजूद है.

  • कॉलबैक

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

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

    (tabs: Tab | Tab[]) => void

    • टैब

      Tab | Tab[]

      जिन टैब को दूसरी विंडो में ले जाया गया है उनके बारे में जानकारी.

रिटर्न

  • Promise<Tab | Tab[]>

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

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

query()

प्रॉमिस
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

यह उन सभी टैब को दिखाता है जिनमें बताई गई प्रॉपर्टी मौजूद हैं. अगर कोई प्रॉपर्टी नहीं बताई गई है, तो यह सभी टैब दिखाता है.

पैरामीटर

  • queryInfo

    ऑब्जेक्ट

    • सक्रिय

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

      टैब अपनी विंडो में ऐक्टिव हैं या नहीं.

    • Audible

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

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

      टैब में आवाज़ आ रही है या नहीं.

    • autoDiscardable

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

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

      क्या ब्राउज़र, संसाधनों के कम होने पर टैब को अपने-आप बंद कर सकता है.

    • currentWindow

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

      टैब, मौजूदा विंडो में हैं या नहीं.

    • खारिज किया गया

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

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

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

    • फ़्रीज़ किया गया

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

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

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

    • groupId

      number ज़रूरी नहीं

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

      टैब जिस ग्रुप में हैं उसका आईडी या बिना ग्रुप वाले टैब के लिए tabGroups.TAB_GROUP_ID_NONE.

    • हाइलाइट की गई

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

      टैब हाइलाइट किए गए हैं या नहीं.

    • इंडेक्स

      number ज़रूरी नहीं

      विंडो में टैब की पोज़िशन.

    • lastFocusedWindow

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

      इससे पता चलता है कि टैब, आखिरी बार फ़ोकस की गई विंडो में हैं या नहीं.

    • म्यूट किया गया

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

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

      क्या टैब म्यूट किए गए हैं.

    • पिन किया गया

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

      टैब पिन किए गए हैं या नहीं.

    • splitViewId

      number ज़रूरी नहीं

      मंज़ूरी बाकी है

      यह उस स्प्लिट व्यू का आईडी होता है जिसमें टैब मौजूद हैं. अगर टैब स्प्लिट व्यू में नहीं हैं, तो इसके लिए tabs.SPLIT_VIEW_ID_NONE का इस्तेमाल किया जाता है.

    • स्थिति

      TabStatus ज़रूरी नहीं है

      टैब लोड होने की स्थिति.

    • title

      string ज़रूरी नहीं है

      किसी पैटर्न के हिसाब से पेज के टाइटल मैच करना. अगर एक्सटेंशन के पास "tabs" अनुमति या पेज के लिए होस्ट अनुमतियां नहीं हैं, तो इस प्रॉपर्टी को अनदेखा कर दिया जाता है.

    • url

      string | string[] ज़रूरी नहीं

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

    • windowId

      number ज़रूरी नहीं

      पैरंट विंडो का आईडी या मौजूदा विंडो के लिए windows.WINDOW_ID_CURRENT.

    • windowType

      WindowType ज़रूरी नहीं है

      टैब किस तरह की विंडो में हैं.

  • कॉलबैक

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

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

    (result: Tab[]) => void

    • नतीजा

      Tab[]

रिटर्न

  • Promise<Tab[]>

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

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

reload()

प्रॉमिस
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

किसी टैब को फिर से लोड करें.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • reloadProperties

    object ज़रूरी नहीं है

    • bypassCache

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

      स्थानीय कैश मेमोरी को बायपास करना है या नहीं. डिफ़ॉल्ट रूप से, यह false पर सेट होती है.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

remove()

प्रॉमिस
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

इससे एक या उससे ज़्यादा टैब बंद हो जाते हैं.

पैरामीटर

  • tabIds

    number | number[]

    बंद किए जाने वाले टैब का आईडी या टैब आईडी की सूची.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

sendMessage()

प्रॉमिस
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

यह फ़ंक्शन, तय किए गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट को एक मैसेज भेजता है. साथ ही, इसमें एक वैकल्पिक कॉलबैक फ़ंक्शन होता है, जिसे जवाब मिलने पर चलाया जाता है. runtime.onMessage इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है.

पैरामीटर

  • tabId

    संख्या

  • मैसेज

    कोई

    भेजा जाने वाला मैसेज. यह मैसेज, JSON में बदलने लायक ऑब्जेक्ट होना चाहिए.

  • विकल्प

    object ज़रूरी नहीं है

    • documentId

      string ज़रूरी नहीं है

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

      टैब में मौजूद सभी फ़्रेम के बजाय, documentId से पहचाने गए किसी दस्तावेज़ पर मैसेज भेजें.

    • frameId

      number ज़रूरी नहीं

      टैब में मौजूद सभी फ़्रेम के बजाय, frameId से पहचाने गए किसी खास फ़्रेम को मैसेज भेजें.

  • कॉलबैक

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

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

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

    (response: any) => void

    • जवाब

      कोई

      मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर तय किए गए टैब से कनेक्ट करते समय कोई गड़बड़ी होती है, तो बिना किसी आर्ग्युमेंट के कॉलबैक को कॉल किया जाता है. साथ ही, runtime.lastError को गड़बड़ी के मैसेज पर सेट किया जाता है.

रिटर्न

  • Promise<any>

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

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

setZoom()

प्रॉमिस
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

इससे किसी टैब को ज़ूम किया जाता है.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • zoomFactor

    संख्या

    ज़ूम लेवल का नया फ़ैक्टर. 0 वैल्यू, टैब को उसके मौजूदा डिफ़ॉल्ट ज़ूम फ़ैक्टर पर सेट करती है. 0 से ज़्यादा वैल्यू, टैब के लिए ज़ूम फ़ैक्टर (ऐसा हो सकता है कि यह डिफ़ॉल्ट न हो) तय करती हैं.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

setZoomSettings()

प्रॉमिस
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • zoomSettings

    इससे यह तय होता है कि ज़ूम के लेवल में होने वाले बदलावों को कैसे हैंडल किया जाता है और किस स्कोप में.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

ungroup()

Promise Chrome 88 या इसके बाद के वर्शन
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

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

पैरामीटर

  • tabIds

    number | [number, ...number[]]

    टैब आईडी या उन टैब आईडी की सूची जिन्हें उनके ग्रुप से हटाना है.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

update()

प्रॉमिस
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

इस तरीके का इस्तेमाल करके, किसी टैब की प्रॉपर्टी में बदलाव किया जा सकता है. updateProperties में नहीं बताई गई प्रॉपर्टी में बदलाव नहीं किया जाता.

पैरामीटर

  • tabId

    number ज़रूरी नहीं

    डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चुने गए टैब पर सेट होता है.

  • updateProperties

    ऑब्जेक्ट

    • सक्रिय

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

      टैब चालू होना चाहिए या नहीं. इससे इस बात पर कोई असर नहीं पड़ता कि विंडो फ़ोकस की गई है या नहीं (windows.update देखें).

    • autoDiscardable

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

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

      क्या संसाधन कम होने पर, ब्राउज़र को टैब अपने-आप बंद कर देना चाहिए.

    • हाइलाइट की गई

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

      इससे टैब को मौजूदा चुने गए टैब में जोड़ा या हटाया जाता है.

    • म्यूट किया गया

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

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

      टैब को म्यूट किया जाना चाहिए या नहीं.

    • openerTabId

      number ज़रूरी नहीं

      इस टैब को खोलने वाले टैब का आईडी. अगर बताया गया है, तो ओपनर टैब उसी विंडो में होना चाहिए जिसमें यह टैब है.

    • पिन किया गया

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

      टैब को पिन किया जाना चाहिए या नहीं.

    • चुना गया

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

      अब सेवा में नहीं है

      कृपया हाइलाइट किए गए विकल्प का इस्तेमाल करें.

      टैब चुना जाना चाहिए या नहीं.

    • url

      string ज़रूरी नहीं है

      वह यूआरएल जिस पर टैब को नेविगेट करना है. JavaScript यूआरएल काम नहीं करते. इसके बजाय, scripting.executeScript का इस्तेमाल करें.

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

      अपडेट किए गए टैब के बारे में जानकारी. url, pendingUrl, title, और favIconUrl प्रॉपर्टी सिर्फ़ tabs.Tab ऑब्जेक्ट में शामिल की जाती हैं. ऐसा तब होता है, जब एक्सटेंशन के पास "tabs" अनुमति हो या उसके पास पेज के लिए होस्ट की अनुमतियां हों.

रिटर्न

  • Promise<Tab | undefined>

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

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

इवेंट

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (activeInfo: object) => void

    • activeInfo

      ऑब्जेक्ट

      • tabId

        संख्या

        उस टैब का आईडी जो ऐक्टिव हो गया है.

      • windowId

        संख्या

        उस विंडो का आईडी जिसमें ऐक्टिव टैब बदला गया है.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी टैब को किसी विंडो से अटैच किया जाता है. उदाहरण के लिए, जब उसे एक विंडो से दूसरी विंडो में ले जाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tabId: number, attachInfo: object) => void

    • tabId

      संख्या

    • attachInfo

      ऑब्जेक्ट

      • newPosition

        संख्या

      • newWindowId

        संख्या

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

जब किसी टैब को विंडो से अलग किया जाता है, तब यह इवेंट ट्रिगर होता है. उदाहरण के लिए, जब उसे एक विंडो से दूसरी विंडो में ले जाया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tabId: number, detachInfo: object) => void

    • tabId

      संख्या

    • detachInfo

      ऑब्जेक्ट

      • oldPosition

        संख्या

      • oldWindowId

        संख्या

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

इस इवेंट को तब ट्रिगर किया जाता है, जब किसी विंडो में हाइलाइट किए गए या चुने गए टैब में बदलाव होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (highlightInfo: object) => void

    • highlightInfo

      ऑब्जेक्ट

      • tabIds

        number[]

        विंडो में हाइलाइट किए गए सभी टैब.

      • windowId

        संख्या

        वह विंडो जिसके टैब बदले गए हैं.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी टैब को विंडो में एक जगह से दूसरी जगह ले जाया जाता है. सिर्फ़ एक मूव इवेंट ट्रिगर होता है. यह उस टैब को दिखाता है जिसे उपयोगकर्ता ने सीधे तौर पर मूव किया है. मैन्युअल तरीके से ले जाए गए टैब के जवाब में, जिन अन्य टैब को ले जाना ज़रूरी है उनके लिए, मूव इवेंट ट्रिगर नहीं होते. जब किसी टैब को एक विंडो से दूसरी विंडो में ले जाया जाता है, तब यह इवेंट ट्रिगर नहीं होता. ज़्यादा जानकारी के लिए, tabs.onDetached देखें.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tabId: number, moveInfo: object) => void

    • tabId

      संख्या

    • moveInfo

      ऑब्जेक्ट

      • fromIndex

        संख्या

      • toIndex

        संख्या

      • windowId

        संख्या

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब कोई टैब बंद किया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tabId: number, removeInfo: object) => void

    • tabId

      संख्या

    • removeInfo

      ऑब्जेक्ट

      • isWindowClosing

        बूलियन

        जब पैरंट विंडो बंद होने की वजह से टैब बंद हो जाता है, तब यह वैल्यू true होती है.

      • windowId

        संख्या

        वह विंडो जिसका टैब बंद किया गया है.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब प्रीरेंडरिंग या इंस्टैंट की वजह से किसी टैब को दूसरे टैब से बदल दिया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      संख्या

    • removedTabId

      संख्या

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी टैब को अपडेट किया जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      संख्या

    • changeInfo

      ऑब्जेक्ट

      • Audible

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

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

        टैब की नई ऑडियो स्थिति.

      • autoDiscardable

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

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

        टैब की नई स्थिति, जिसे अपने-आप खारिज किया जा सकता है.

      • खारिज किया गया

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

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

        टैब की नई खारिज की गई स्थिति.

      • favIconUrl

        string ज़रूरी नहीं है

        टैब के नए फ़ेविकॉन का यूआरएल.

      • फ़्रीज़ किया गया

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

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

        टैब की नई फ़्रीज़ की गई स्थिति.

      • groupId

        number ज़रूरी नहीं

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

        टैब का नया ग्रुप.

      • mutedInfo

        MutedInfo optional

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

        टैब की नई म्यूट की गई स्थिति और बदलाव की वजह.

      • पिन किया गया

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

        टैब के पिन किए जाने की नई स्थिति.

      • splitViewId

        number ज़रूरी नहीं

        मंज़ूरी बाकी है

        टैब का नया स्प्लिट व्यू.

      • स्थिति

        TabStatus ज़रूरी नहीं है

        टैब के लोड होने की स्थिति.

      • title

        string ज़रूरी नहीं है

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

        टैब का नया टाइटल.

      • url

        string ज़रूरी नहीं है

        अगर टैब का यूआरएल बदल गया है, तो उसका यूआरएल.

    • टैब

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

जब किसी टैब को ज़ूम किया जाता है, तब यह इवेंट ट्रिगर होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      ऑब्जेक्ट

      • newZoomFactor

        संख्या

      • oldZoomFactor

        संख्या

      • tabId

        संख्या

      • zoomSettings