browser.tabs

ब्यौरा

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

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

अनुमतियां

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

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

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

इस अनुमति से, browser.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:

browser.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    browser.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 browser.tabs.query(queryOptions);
    return tab;
  }

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

किसी टैब को म्यूट करना

इस उदाहरण में दिखाया गया है कि कोई एक्सटेंशन, किसी टैब के लिए म्यूट की गई स्थिति को कैसे टॉगल कर सकता है.

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

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

क्लिक करने पर, मौजूदा टैब को सबसे ऊपर ले जाएं

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

  browser.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await browser.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);
      }
    }
  }

  browser.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (browser.runtime.lastError) {
        const error = browser.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 browser.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await browser.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

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

Tabs API एक्सटेंशन के ज़्यादा डेमो देखने के लिए, इनमें से किसी एक को एक्सप्लोर करें:

टाइप

MutedInfo

Chrome 46+ Chrome 148 से browser.*

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

प्रॉपर्टी

  • extensionId

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

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

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

    बूलियन

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

  • reason

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

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

MutedInfoReason

Chrome 46+ Chrome 148 से browser.*

कोई ऐसा इवेंट जिसकी वजह से म्यूट की गई स्थिति में बदलाव हुआ.

Enum

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

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

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

Tab

प्रॉपर्टी

  • सक्रिय

    बूलियन

    क्या टैब अपनी विंडो में चालू है. ज़रूरी नहीं है कि विंडो फ़ोकस में हो.

  • Audible

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

    Chrome 45+ browser.* Chrome 148 से

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

  • autoDiscardable

    बूलियन

    Chrome 54+ browser.* Chrome 148 से

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

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

    बूलियन

    Chrome 54+ browser.* Chrome 148 से

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

  • favIconUrl

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

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

  • फ़्रीज़

    बूलियन

    Chrome 132+ Chrome 148 से browser.*

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

  • groupId

    संख्या

    Chrome 88+ browser.* Chrome 148 के बाद से

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

  • ऊंचाई

    number ज़रूरी नहीं

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

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

    बूलियन

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

  • आईडी

    number ज़रूरी नहीं

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

  • गुप्त मोड

    बूलियन

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

  • इंडेक्स

    संख्या

    विंडो में टैब का ज़ीरो-बेस्ड इंडेक्स.

  • lastAccessed

    संख्या

    Chrome 121+ browser.* Chrome 148 से

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

  • mutedInfo

    MutedInfo optional

    Chrome 46+ Chrome 148 से browser.*

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

  • openerTabId

    number ज़रूरी नहीं

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

  • pendingUrl

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

    Chrome 79+ browser.* Chrome 148 से

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

  • पिन की गईं

    बूलियन

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

  • चुना गया

    बूलियन

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

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

    क्या टैब चुना गया है.

  • sessionId

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

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

  • splitViewId

    number ज़रूरी नहीं

    Chrome 140+ browser.* Chrome 148 से

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

  • स्थिति

    TabStatus ज़रूरी नहीं

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

  • title

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

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

  • url

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

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

  • चौड़ाई

    number ज़रूरी नहीं

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

  • windowId

    संख्या

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

TabStatus

Chrome 44+ browser.* Chrome 148 से

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

Enum

"unloaded"

"loading"

"complete"

WindowType

Chrome 44+ browser.* Chrome 148 से

विंडो का टाइप.

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

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

प्रॉपर्टी

  • defaultZoomFactor

    number ज़रूरी नहीं

    Chrome 43+ browser.* Chrome 148 से

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

  • मोड

    ZoomSettingsMode ज़रूरी नहीं

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

  • दायरा

    ZoomSettingsScope ज़रूरी नहीं

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

ZoomSettingsMode

Chrome 44+ browser.* Chrome 148 से

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

Enum

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

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

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

ZoomSettingsScope

Chrome 44+ browser.* Chrome 148 से

इससे यह तय होता है कि ज़ूम में किए गए बदलाव, पेज के ऑरिजिन के लिए बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे. 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+ browser.* Chrome 148 से

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

वैल्यू

2

SPLIT_VIEW_ID_NONE

Chrome 140+ browser.* Chrome 148 से

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

वैल्यू

-1

TAB_ID_NONE

Chrome 46+ Chrome 148 से browser.*

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

वैल्यू

-1

TAB_INDEX_NONE

Chrome 123 और इसके बाद के वर्शन browser.* Chrome 148 से

एक इंडेक्स, जो टैब बार में टैब इंडेक्स की अनुपस्थिति को दिखाता है.

वैल्यू

-1

तरीके

captureVisibleTab()

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

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

पैरामीटर

  • windowId

    number ज़रूरी नहीं

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

  • विकल्प

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

रिटर्न

  • Promise<string>

    Chrome 88+ browser.* Chrome 148 के बाद से

connect()

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

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

पैरामीटर

  • tabId

    संख्या

  • connectInfo

    object ज़रूरी नहीं

    • documentId

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

      Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*

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

    • frameId

      number ज़रूरी नहीं

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

    • नाम

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

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

रिटर्न

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

create()

browser.tabs.create(
  createProperties: object,
)
: Promise<Tab>

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

पैरामीटर

  • createProperties

    ऑब्जेक्ट

    • सक्रिय

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

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

    • इंडेक्स

      number ज़रूरी नहीं

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

    • openerTabId

      number ज़रूरी नहीं

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

    • पिन की गईं

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

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

    • चुना गया

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

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

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

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

    • splitWithTabId

      number ज़रूरी नहीं

      Chrome 155+

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

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

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

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

    • windowId

      number ज़रूरी नहीं

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

रिटर्न

  • Promise<Tab>

    Chrome 88+ browser.* Chrome 148 के बाद से

createSplit()

Chrome 155+
browser.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

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

पैरामीटर

  • tabIds

    [number, number]

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

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

रिटर्न

  • Promise<number>

detectLanguage()

browser.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

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

पैरामीटर

रिटर्न

  • Promise<string>

    Chrome 88+ browser.* Chrome 148 के बाद से

discard()

Chrome 54+ browser.* Chrome 148 से
browser.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • Promise<Tab | undefined>

    Chrome 88+ browser.* Chrome 148 के बाद से

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

duplicate()

browser.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

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

पैरामीटर

  • tabId

    संख्या

    डुप्लीकेट किए जाने वाले टैब का आईडी.

रिटर्न

  • Promise<Tab | undefined>

    Chrome 88+ browser.* Chrome 148 के बाद से

get()

browser.tabs.get(
  tabId: number,
)
: Promise<Tab>

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

पैरामीटर

  • tabId

    संख्या

रिटर्न

  • Promise<Tab>

    Chrome 88+ browser.* Chrome 148 के बाद से

getCurrent()

browser.tabs.getCurrent(): Promise<Tab | undefined>

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

रिटर्न

  • Promise<Tab | undefined>

    Chrome 88+ browser.* Chrome 148 के बाद से

getZoom()

browser.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • Promise<number>

    Chrome 88+ browser.* Chrome 148 के बाद से

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

getZoomSettings()

browser.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • Promise<ZoomSettings>

    Chrome 88+ browser.* Chrome 148 के बाद से

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

goBack()

Chrome 72+ ब्राउज़र.* Chrome 148 से
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

goForward()

Chrome 72+ ब्राउज़र.* Chrome 148 से
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

group()

Chrome 88+ browser.* Chrome 148 के बाद से
browser.tabs.group(
  options: object,
)
: Promise<number>

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

पैरामीटर

  • विकल्प

    ऑब्जेक्ट

    • createProperties

      object ज़रूरी नहीं

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

      • windowId

        number ज़रूरी नहीं

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

    • groupId

      number ज़रूरी नहीं

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

    • tabIds

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

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

रिटर्न

  • Promise<number>

highlight()

browser.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

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

पैरामीटर

  • highlightInfo

    ऑब्जेक्ट

    • टैब

      number | number[]

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

    • windowId

      number ज़रूरी नहीं

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

रिटर्न

  • Chrome 88+ browser.* Chrome 148 के बाद से

move()

browser.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

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

पैरामीटर

  • tabIds

    number | number[]

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

  • moveProperties

    ऑब्जेक्ट

    • इंडेक्स

      संख्या

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

    • windowId

      number ज़रूरी नहीं

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

रिटर्न

  • Promise<Tab | Tab[]>

    Chrome 88+ browser.* Chrome 148 के बाद से

query()

browser.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

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

पैरामीटर

  • queryInfo

    ऑब्जेक्ट

    • सक्रिय

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

      टैब अपनी विंडो में चालू हैं या नहीं.

    • Audible

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

      Chrome 45+ browser.* Chrome 148 से

      क्या टैब में आवाज़ सुनाई दे रही है.

    • autoDiscardable

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

      Chrome 54+ browser.* Chrome 148 से

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

    • currentWindow

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

      क्या टैब मौजूदा विंडो में हैं.

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

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

      Chrome 54+ browser.* Chrome 148 से

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

    • फ़्रीज़

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

      Chrome 132+ Chrome 148 से browser.*

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

    • groupId

      number ज़रूरी नहीं

      Chrome 88+ browser.* Chrome 148 के बाद से

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

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

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

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

    • इंडेक्स

      number ज़रूरी नहीं

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

    • lastFocusedWindow

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

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

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

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

      Chrome 45+ browser.* Chrome 148 से

      टैब म्यूट हैं या नहीं.

    • पिन की गईं

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

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

    • splitViewId

      number ज़रूरी नहीं

      Chrome 140+ browser.* Chrome 148 से

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

    • स्थिति

      TabStatus ज़रूरी नहीं

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

    • title

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

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

    • url

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

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

    • windowId

      number ज़रूरी नहीं

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

    • windowType

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

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

रिटर्न

  • Promise<Tab[]>

    Chrome 88+ browser.* Chrome 148 के बाद से

reload()

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

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • reloadProperties

    object ज़रूरी नहीं

    • bypassCache

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

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

remove()

browser.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

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

पैरामीटर

  • tabIds

    number | number[]

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

sendMessage()

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

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

पैरामीटर

  • tabId

    संख्या

  • मैसेज

    कोई

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

  • विकल्प

    object ज़रूरी नहीं

    • documentId

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

      Chrome 106 और इसके बाद के वर्शन Chrome 148 से browser.*

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

    • frameId

      number ज़रूरी नहीं

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

रिटर्न

  • <any> प्रॉमिस

    Chrome 99+ browser.* Chrome 148 से

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

setZoom()

browser.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • zoomFactor

    संख्या

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

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

setZoomSettings()

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

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • zoomSettings

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

रिटर्न

  • Promise<void>

    Chrome 88+ browser.* Chrome 148 के बाद से

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

ungroup()

Chrome 88+ browser.* Chrome 148 के बाद से
browser.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

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

पैरामीटर

  • tabIds

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

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

रिटर्न

  • Promise<void>

unsplit()

Chrome 155+
browser.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

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

पैरामीटर

  • splitViewId

    संख्या

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

रिटर्न

  • Promise<void>

update()

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

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • updateProperties

    ऑब्जेक्ट

    • सक्रिय

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

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

    • autoDiscardable

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

      Chrome 54+ browser.* Chrome 148 से

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

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

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

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

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

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

      Chrome 45+ browser.* Chrome 148 से

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

    • openerTabId

      number ज़रूरी नहीं

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

    • पिन की गईं

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

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

    • चुना गया

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

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

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

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

    • url

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

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

रिटर्न

  • Promise<Tab | undefined>

    Chrome 88+ browser.* Chrome 148 के बाद से

इवेंट

onActivated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (activeInfo: object) => void

    • activeInfo

      ऑब्जेक्ट

      • tabId

        संख्या

        ऐक्टिव हुए टैब का आईडी.

      • windowId

        संख्या

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

onAttached

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • attachInfo

      ऑब्जेक्ट

      • newPosition

        संख्या

      • newWindowId

        संख्या

onCreated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tab: Tab) => void

    • टैब

onDetached

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • detachInfo

      ऑब्जेक्ट

      • oldPosition

        संख्या

      • oldWindowId

        संख्या

onHighlighted

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (highlightInfo: object) => void

    • highlightInfo

      ऑब्जेक्ट

      • tabIds

        number[]

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

      • windowId

        संख्या

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

onMoved

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • moveInfo

      ऑब्जेक्ट

      • fromIndex

        संख्या

      • toIndex

        संख्या

      • windowId

        संख्या

onRemoved

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • removeInfo

      ऑब्जेक्ट

      • isWindowClosing

        बूलियन

        यह तब True दिखाता है, जब पैरंट विंडो बंद होने की वजह से टैब बंद हो गया हो.

      • windowId

        संख्या

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

onReplaced

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • addedTabId

      संख्या

    • removedTabId

      संख्या

onUpdated

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    • tabId

      संख्या

    • changeInfo

      ऑब्जेक्ट

      • Audible

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

        Chrome 45+ browser.* Chrome 148 से

        टैब की नई ऑडिबल स्टेट.

      • autoDiscardable

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

        Chrome 54+ browser.* Chrome 148 से

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

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

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

        Chrome 54+ browser.* Chrome 148 से

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

      • favIconUrl

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

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

      • फ़्रीज़

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

        Chrome 132+ Chrome 148 से browser.*

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

      • groupId

        number ज़रूरी नहीं

        Chrome 88+ browser.* Chrome 148 के बाद से

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

      • mutedInfo

        MutedInfo optional

        Chrome 46+ Chrome 148 से browser.*

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

      • पिन की गईं

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

        टैब को पिन करने की नई स्थिति.

      • splitViewId

        number ज़रूरी नहीं

        Chrome 140+ browser.* Chrome 148 से

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

      • स्थिति

        TabStatus ज़रूरी नहीं

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

      • title

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

        Chrome 48+ Chrome 148 से browser.*

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

      • url

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

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

    • टैब

onZoomChange

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      ऑब्जेक्ट

      • newZoomFactor

        संख्या

      • oldZoomFactor

        संख्या

      • tabId

        संख्या

      • zoomSettings