chrome.tabs

ब्यौरा

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

खास जानकारी

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

अनुमतियां

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

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

"टैब" की अनुमति
इस अनुमति से, chrome.tabs नेमस्पेस का ऐक्सेस नहीं मिलता. इसके बजाय, यह एक्सटेंशन को tabs.Tab इंस्टेंस पर मौजूद चार संवेदनशील प्रॉपर्टी के लिए tabs.query() को कॉल करने की अनुमति देता है: url, pendingUrl, title, और favIconUrl.
होस्ट की अनुमतियां
होस्ट की अनुमतियों की मदद से, एक्सटेंशन किसी टैब की चार संवेदनशील tabs.Tab प्रॉपर्टी को पढ़ सकता है और उनसे जुड़ी क्वेरी कर सकता है. ये ऐप्लिकेशन, मैच करने वाले टैब के साथ सीधे तौर पर इंटरैक्ट भी कर सकते हैं. इसके लिए, tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS(), और tabs.removeCSS() जैसे तरीकों का इस्तेमाल किया जा सकता है.
"activeTab" अनुमति
activeTab, उपयोगकर्ता के अनुरोध पर मौजूदा टैब के लिए, होस्ट के तौर पर काम करने की अनुमति कुछ समय के लिए देता है. होस्ट की अनुमतियों के उलट, activeTab से कोई चेतावनी ट्रिगर नहीं होती.

मेनिफ़ेस्ट

यहां दिए गए उदाहरणों में, मेनिफ़ेस्ट में हर अनुमति को एलान करने का तरीका बताया गया है:

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

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "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 optional

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

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

    बूलियन

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

  • आईडी

    number optional

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

  • गुप्त मोड

    बूलियन

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

  • इंडेक्स

    संख्या

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

  • lastAccessed

    संख्या

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

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

  • mutedInfo

    MutedInfo ज़रूरी नहीं

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

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

  • openerTabId

    number optional

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

  • pendingUrl

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

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

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

  • पिन की गईं

    बूलियन

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

  • चुना गया

    बूलियन

    अब काम नहीं करता

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

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

  • sessionId

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

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

  • splitViewId

    number optional

    Chrome 140+

    स्प्लिट व्यू का वह आईडी जिससे टैब जुड़ा है.

  • स्थिति

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

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

  • title

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

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

  • url

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

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

  • चौड़ाई

    number optional

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

  • windowId

    संख्या

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

TabStatus

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

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

Enum

"unloaded"

"loading"

"complete"

WindowType

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

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

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

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

प्रॉपर्टी

  • defaultZoomFactor

    number optional

    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

SPLIT_VIEW_ID_NONE

Chrome 140+

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

वैल्यू

-1

TAB_ID_NONE

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

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

वैल्यू

-1

TAB_INDEX_NONE

Chrome 123+

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

वैल्यू

-1

तरीके

captureVisibleTab()

Promise
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

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

पैरामीटर

  • windowId

    number optional

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

  • विकल्प

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

  • कॉलबैक

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

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

    (dataUrl: string) => void

    • dataUrl

      स्ट्रिंग

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

रिटर्न

  • Promise<string>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

connect()

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

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

पैरामीटर

  • tabId

    संख्या

  • connectInfo

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

    • documentId

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

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

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

    • frameId

      number optional

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

    • नाम

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

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

रिटर्न

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

create()

Promise
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

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

पैरामीटर

  • createProperties

    ऑब्जेक्ट

    • सक्रिय

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

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

    • इंडेक्स

      number optional

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

    • openerTabId

      number optional

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

    • पिन की गईं

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

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

    • चुना गया

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

      अब काम नहीं करता

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

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

    • splitWithTabId

      number optional

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

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

      • यह पहले से स्प्लिट किया गया टैब नहीं होना चाहिए.
      • यह उसी विंडो में होना चाहिए जिसमें नया टैब बनाया गया है.
      • अगर windowId तय किया गया है, तो यह स्प्लिट-विंडो टैब के विंडो आईडी के बराबर होना चाहिए.
      • अगर index तय किया गया है, तो यह स्प्लिट-विथ टैब के बगल में मौजूद इंडेक्स होना चाहिए. इससे, नए बनाए गए टैब की पोज़िशन पर असर पड़ेगा.
    • url

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

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

    • windowId

      number optional

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

  • कॉलबैक

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

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

    (tab: Tab) => void

    • टैब

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

रिटर्न

  • Promise<Tab>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

createSplit()

प्रॉमिस मंज़ूरी मिलना बाकी है
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

यह सुविधा, दो मौजूदा टैब को स्प्लिट व्यू में खोलती है.

पैरामीटर

  • tabIds

    [number, number]

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

    ये एक-दूसरे के बगल में होने चाहिए. वे पहले से ही स्प्लिट व्यू में नहीं होने चाहिए. इनके windowId, pinned, और groupId की स्थितियां एक जैसी होनी चाहिए.

  • कॉलबैक

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

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

    (splitViewId: number) => void

    • splitViewId

      संख्या

      यह उस नए स्प्लिट व्यू का आईडी है जिसमें बताए गए टैब शामिल हैं.

रिटर्न

  • Promise<number>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

    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,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

      अगर टैब को खारिज कर दिया गया है, तो उसे खारिज किया गया टैब; अगर ऐसा नहीं हुआ है, तो उसे 'तय नहीं किया गया' के तौर पर दिखाया जाएगा.

रिटर्न

  • Promise<Tab | undefined>

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

    कार्रवाई पूरी होने के बाद, यह रिज़ॉल्व हो जाता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • tabId

    संख्या

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

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

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

रिटर्न

  • Promise<Tab | undefined>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

executeScript()

Promise &leq; MV2 Chrome 91 से काम नहीं कर रहा है
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

Manifest V3 में, इसे scripting.executeScript से बदल दिया गया है.

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

पैरामीटर

  • tabId

    number optional

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

  • विवरण

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

  • कॉलबैक

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

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

    (result?: any[]) => void

    • नतीजा

      any[] ज़रूरी नहीं

      इंजेक्ट किए गए हर फ़्रेम में स्क्रिप्ट का नतीजा.

रिटर्न

  • Promise<any[] | undefined>

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

    सभी JavaScript के एक्ज़ीक्यूट होने के बाद, यह समस्या ठीक हो जाती है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

get()

Promise
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

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

पैरामीटर

  • tabId

    संख्या

  • कॉलबैक

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

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

    (tab: Tab) => void

रिटर्न

  • Promise<Tab>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getAllInWindow()

Promise &leq; MV2 Deprecated
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

कृपया tabs.query {windowId: windowId} का इस्तेमाल करें.

इससे दी गई विंडो में मौजूद सभी टैब के बारे में जानकारी मिलती है.

पैरामीटर

  • windowId

    number optional

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

  • कॉलबैक

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

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

    (tabs: Tab[]) => void

    • टैब

      Tab[]

रिटर्न

  • Promise<Tab[]>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • कॉलबैक

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

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

    (tab?: Tab) => void

    • टैब

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

रिटर्न

  • Promise<Tab | undefined>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getSelected()

Promise &leq; MV2 Deprecated
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

कृपया tabs.query {active: true} का इस्तेमाल करें.

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

पैरामीटर

  • windowId

    number optional

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

  • कॉलबैक

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

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

    (tab: Tab) => void

रिटर्न

  • Promise<Tab>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

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

    (zoomFactor: number) => void

    • zoomFactor

      संख्या

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

रिटर्न

  • Promise<number>

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

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

रिटर्न

  • Promise<ZoomSettings>

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

    यह टैब की मौजूदा ज़ूम सेटिंग के साथ रिज़ॉल्व हो जाता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

goBack()

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

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

goForward()

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

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

पैरामीटर

  • tabId

    number optional

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

group()

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

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

पैरामीटर

  • विकल्प

    ऑब्जेक्ट

    • createProperties

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

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

      • windowId

        number optional

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

    • groupId

      number optional

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

    • tabIds

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

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

  • कॉलबैक

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

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

    (groupId: number) => void

    • groupId

      संख्या

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

रिटर्न

  • Promise<number>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

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

पैरामीटर

  • highlightInfo

    ऑब्जेक्ट

    • टैब

      number | number[]

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

    • windowId

      number optional

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

  • कॉलबैक

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

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

    (window: Window) => void

    • विंडो

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

रिटर्न

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

insertCSS()

Promise &leq; MV2 Chrome 91 से काम नहीं कर रहा है
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

Manifest V3 में, इसे scripting.insertCSS से बदल दिया गया है.

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

पैरामीटर

  • tabId

    number optional

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

  • विवरण

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    यह तब हल होता है, जब सभी सीएसएस डाली जा चुकी हों.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

move()

Promise
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

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

पैरामीटर

  • tabIds

    number | number[]

    जिस टैब को मूव करना है उसका आईडी या टैब आईडी की सूची.

  • moveProperties

    ऑब्जेक्ट

    • इंडेक्स

      संख्या

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

    • windowId

      number optional

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

  • कॉलबैक

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

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

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

    • टैब

      Tab | Tab[]

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

रिटर्न

  • Promise<Tab | Tab[]>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

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

पैरामीटर

  • queryInfo

    ऑब्जेक्ट

    • सक्रिय

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

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

    • Audible

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

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

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

    • autoDiscardable

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

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

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

    • currentWindow

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

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

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

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

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

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

    • फ़्रीज़

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

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

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

    • groupId

      number optional

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

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

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

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

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

    • इंडेक्स

      number optional

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

    • lastFocusedWindow

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

      क्या टैब, फ़ोकस की गई आखिरी विंडो में हैं.

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

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

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

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

    • पिन की गईं

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

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

    • splitViewId

      number optional

      Chrome 140+

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

    • स्थिति

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

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

    • title

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

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

    • url

      string | string[] optional

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

    • windowId

      number optional

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

    • windowType

      WindowType optional

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

  • कॉलबैक

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

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

    (result: Tab[]) => void

    • नतीजा

      Tab[]

रिटर्न

  • Promise<Tab[]>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

reload()

Promise
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number optional

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

  • reloadProperties

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

    • bypassCache

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

remove()

Promise
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • tabIds

    number | number[]

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

removeCSS()

Promise Chrome 87 या इसके बाद के वर्शन &leq; MV2 Chrome 91 के बाद से काम नहीं करता
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

Manifest V3 में, इसे scripting.removeCSS से बदल दिया गया है.

यह फ़ंक्शन, पेज से उस सीएसएस को हटाता है जिसे पहले scripting.insertCSS को कॉल करके इंजेक्ट किया गया था.

पैरामीटर

  • tabId

    number optional

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

  • विवरण

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    यह तब हल होता है, जब सभी सीएसएस हटा दी जाती हैं.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

पैरामीटर

  • tabId

    संख्या

  • मैसेज

    कोई

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

  • विकल्प

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

    • documentId

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

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

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

    • frameId

      number optional

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

  • कॉलबैक

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

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

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

    (response: any) => void

    • जवाब

      कोई

      मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट.

रिटर्न

  • Promise<any>

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

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

sendRequest()

Promise &leq; MV2 Deprecated
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

कृपया runtime.sendMessage का इस्तेमाल करें.

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

पैरामीटर

  • tabId

    संख्या

  • CANNOT TRANSLATE

    कोई

  • कॉलबैक

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

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

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

    (response: any) => void

    • जवाब

      कोई

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

रिटर्न

  • Promise<any>

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

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number optional

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

  • zoomFactor

    संख्या

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    ज़ूम फ़ैक्टर बदलने के बाद ठीक हो जाती है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number optional

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

  • zoomSettings

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

    ज़ूम करने की सेटिंग बदलने के बाद ठीक हो जाती है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

ungroup()

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

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

पैरामीटर

  • tabIds

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

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

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

unsplit()

प्रॉमिस मंज़ूरी मिलना बाकी है
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

स्प्लिट व्यू में मौजूद टैब को अलग-अलग टैब में बांटता है.

पैरामीटर

  • splitViewId

    संख्या

    स्प्लिट व्यू को अलग करने का आईडी.

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • tabId

    number optional

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

  • updateProperties

    ऑब्जेक्ट

    • सक्रिय

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

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

    • autoDiscardable

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

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

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

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

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

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

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

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

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

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

    • openerTabId

      number optional

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

    • पिन की गईं

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

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

    • चुना गया

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

      अब काम नहीं करता

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

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

    • 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

        संख्या

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

onActiveChanged

&leq; MV2 अब काम नहीं करता
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • selectInfo

      ऑब्जेक्ट

      • 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

        संख्या

onHighlightChanged

&leq; MV2 अब काम नहीं करता
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (selectInfo: object) => void

    • selectInfo

      ऑब्जेक्ट

      • tabIds

        number[]

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

      • windowId

        संख्या

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

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

      संख्या

onSelectionChanged

&leq; MV2 अब काम नहीं करता
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • selectInfo

      ऑब्जेक्ट

      • windowId

        संख्या

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

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 optional

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

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

      • mutedInfo

        MutedInfo ज़रूरी नहीं

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

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

      • पिन की गईं

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

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

      • splitViewId

        number optional

        Chrome 140+

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

      • स्थिति

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

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

      • title

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

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

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

      • url

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

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

    • टैब

onZoomChange

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      ऑब्जेक्ट

      • newZoomFactor

        संख्या

      • oldZoomFactor

        संख्या

      • tabId

        संख्या

      • zoomSettings