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

    string ज़रूरी नहीं

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

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

    बूलियन

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

  • 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

    string ज़रूरी नहीं

    टैब के फ़ेविकॉन का यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास "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 ज़रूरी नहीं है

    Chrome 46+ Chrome 148 से browser.*

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

  • openerTabId

    number ज़रूरी नहीं

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

  • pendingUrl

    string ज़रूरी नहीं

    Chrome 79+ browser.* Chrome 148 से

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

  • पिन की गईं

    बूलियन

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

  • चुना गया

    बूलियन

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

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

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

  • sessionId

    string ज़रूरी नहीं

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

  • splitViewId

    number ज़रूरी नहीं

    Chrome 140+ browser.* Chrome 148 से

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

  • स्थिति

    TabStatus ज़रूरी नहीं

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

  • title

    string ज़रूरी नहीं

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

  • url

    string ज़रूरी नहीं

    टैब के मुख्य फ़्रेम का आखिरी कमिट किया गया यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास "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"

"ऐप्लिकेशन"

"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+ Chrome 148 से browser.*

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

वैल्यू

-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

      string ज़रूरी नहीं

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

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

    • frameId

      number ज़रूरी नहीं

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

    • नाम

      string ज़रूरी नहीं

      इसे उन कॉन्टेंट स्क्रिप्ट के लिए 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

      string ज़रूरी नहीं

      वह यूआरएल जिस पर टैब को शुरुआत में नेविगेट करना है. पूरी तरह से मान्य यूआरएल में एक स्कीम शामिल होनी चाहिए. जैसे, '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+ browser.* Chrome 148 से
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • वादा<शून्य>

    Chrome 88+ browser.* Chrome 148 से

goForward()

Chrome 72+ browser.* Chrome 148 से
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

रिटर्न

  • वादा<शून्य>

    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 ज़रूरी नहीं

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

रिटर्न

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

      string ज़रूरी नहीं

      पेज के टाइटल को किसी पैटर्न से मैच करना. अगर एक्सटेंशन के पास पेज के लिए "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 पर सेट होता है.

रिटर्न

  • वादा<शून्य>

    Chrome 88+ browser.* Chrome 148 से

remove()

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

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

पैरामीटर

  • tabIds

    number | number[]

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

रिटर्न

  • वादा<शून्य>

    Chrome 88+ browser.* Chrome 148 से

sendMessage()

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

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

पैरामीटर

  • tabId

    संख्या

  • मैसेज

    कोई

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

  • विकल्प

    object ज़रूरी नहीं

    • documentId

      string ज़रूरी नहीं

      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 से ज़्यादा वैल्यू, टैब के लिए (शायद नॉन-डिफ़ॉल्ट) ज़ूम फ़ैक्टर तय करती हैं.

रिटर्न

  • वादा<शून्य>

    Chrome 88+ browser.* Chrome 148 से

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

setZoomSettings()

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

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

पैरामीटर

  • tabId

    number ज़रूरी नहीं

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

  • zoomSettings

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

रिटर्न

  • वादा<शून्य>

    Chrome 88+ browser.* Chrome 148 से

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

ungroup()

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

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

पैरामीटर

  • tabIds

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

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

रिटर्न

  • वादा<शून्य>

unsplit()

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

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

पैरामीटर

  • splitViewId

    संख्या

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

रिटर्न

  • वादा<शून्य>

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

      string ज़रूरी नहीं

      टैब को नेविगेट करने के लिए यूआरएल. 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

        string ज़रूरी नहीं

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

      • फ़्रीज़

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

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

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

      • groupId

        number ज़रूरी नहीं

        Chrome 88+ browser.* Chrome 148 से

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

      • mutedInfo

        MutedInfo ज़रूरी नहीं

        Chrome 46+ Chrome 148 से browser.*

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

      • पिन की गईं

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

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

      • splitViewId

        number ज़रूरी नहीं

        Chrome 140+ browser.* Chrome 148 से

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

      • स्थिति

        TabStatus ज़रूरी नहीं

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

      • title

        string ज़रूरी नहीं

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

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

      • url

        string ज़रूरी नहीं

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

    • टैब

onZoomChange

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      ऑब्जेक्ट

      • newZoomFactor

        संख्या

      • oldZoomFactor

        संख्या

      • tabId

        संख्या

      • zoomSettings