chrome.windows

refresh date: 2026-09-25 robots: noindex

ब्यौरा

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

मेनिफ़ेस्ट

अनुरोध करने पर, windows.Window में tabs.Tab ऑब्जेक्ट का ऐरे होता है. अगर आपको tabs.Tab की url, pendingUrl, title या favIconUrl प्रॉपर्टी का ऐक्सेस चाहिए, तो आपको अपने मेनिफ़ेस्ट में "tabs" अनुमति का एलान करना होगा. उदाहरण के लिए:

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

मौजूदा विंडो

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

मौजूदा विंडो वह विंडो होती है जिसमें फ़िलहाल चल रहा कोड होता है. यह ध्यान रखना ज़रूरी है कि यह सबसे ऊपर या फ़ोकस की गई विंडो से अलग हो सकती है.

उदाहरण के लिए, मान लें कि कोई एक्सटेंशन एक ही एचटीएमएल फ़ाइल से कुछ टैब या विंडो बनाता है. साथ ही, उस एचटीएमएल फ़ाइल में tabs.query() को कॉल किया जाता है. मौजूदा विंडो वह विंडो होती है जिसमें कॉल करने वाला पेज मौजूद होता है. इससे कोई फ़र्क़ नहीं पड़ता कि सबसे ऊपर वाली विंडो कौनसी है.

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

उदाहरण

दो विंडो, हर विंडो में एक टैब

इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से windows API example इंस्टॉल करें.

टाइप

CreateType

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

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

Enum

"normal"
इससे विंडो को स्टैंडर्ड विंडो के तौर पर सेट किया जाता है.

"popup"
इस विकल्प का इस्तेमाल करके, विंडो को पॉपअप विंडो के तौर पर सेट किया जाता है.

"panel"
विंडो को पैनल के तौर पर सेट करता है.

QueryOptions

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

प्रॉपर्टी

  • अपने-आप जानकारी भर जाना

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

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

  • windowTypes

    WindowType[] optional

    अगर यह सेट है, तो windows.Window को उसके टाइप के आधार पर फ़िल्टर किया जाता है. अगर यह नीति सेट नहीं की गई है, तो डिफ़ॉल्ट फ़िल्टर ['normal', 'popup'] पर सेट होता है.

Window

प्रॉपर्टी

  • alwaysOnTop

    बूलियन

    इससे पता चलता है कि विंडो को हमेशा सबसे ऊपर दिखने के लिए सेट किया गया है या नहीं.

  • फ़ोकस किया गया

    बूलियन

    क्या फ़िलहाल विंडो फ़ोकस में है.

  • ऊंचाई

    number optional

    पिक्सल में विंडो की ऊंचाई. इसमें फ़्रेम भी शामिल है. कुछ मामलों में, किसी विंडो को height प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.

  • आईडी

    number optional

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

  • गुप्त

    बूलियन

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

  • बाएं

    number optional

    स्क्रीन के बाईं ओर से विंडो का ऑफ़सेट, पिक्सल में. कुछ मामलों में, किसी विंडो को left प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.

  • sessionId

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

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

  • राज्य

    WindowState optional

    इस ब्राउज़र विंडो की स्थिति.

  • टैब

    Tab[] ज़रूरी नहीं है

    विंडो में मौजूद मौजूदा टैब के बारे में बताने वाले tabs.Tab ऑब्जेक्ट का ऐरे.

  • ऊपर

    number optional

    स्क्रीन के सबसे ऊपर वाले किनारे से विंडो का ऑफ़सेट, पिक्सल में. कुछ मामलों में, किसी विंडो को top प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.

  • टाइप

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

    यह किस तरह की ब्राउज़र विंडो है.

  • चौड़ाई

    number optional

    फ़्रेम के साथ-साथ विंडो की चौड़ाई, पिक्सल में. कुछ मामलों में, किसी विंडो को width प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.

WindowState

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

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

Enum

"normal"
विंडो की सामान्य स्थिति (न तो छोटी की गई हो, न बड़ी की गई हो, और न ही फ़ुलस्क्रीन पर हो).

"minimized"
विंडो को छोटा किया गया है.

"maximized"
विंडो की स्थिति को ज़्यादा से ज़्यादा किया गया है.

"fullscreen"
फ़ुलस्क्रीन विंडो की स्थिति.

WindowType

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

यह ब्राउज़र विंडो का टाइप है. कुछ मामलों में, विंडो को type प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions API से बंद की गई विंडो के बारे में क्वेरी करते समय.

Enum

"normal"
यह ब्राउज़र की सामान्य विंडो होती है.

"popup"
यह ब्राउज़र का पॉप-अप होता है.

"panel"
इस एपीआई में अब इस्तेमाल नहीं किया जाता. Chrome ऐप्लिकेशन की पैनल स्टाइल वाली विंडो. एक्सटेंशन सिर्फ़ अपनी पैनल विंडो देख सकते हैं.

"app"
इस एपीआई में अब इस्तेमाल नहीं किया जाता. Chrome ऐप्लिकेशन की विंडो. एक्सटेंशन सिर्फ़ अपने ऐप्लिकेशन की विंडो देख सकते हैं.

"devtools"
डेवलपर टूल विंडो.

प्रॉपर्टी

WINDOW_ID_CURRENT

windowId वैल्यू, मौजूदा विंडो को दिखाती है.

वैल्यू

-2

WINDOW_ID_NONE

windowId की वह वैल्यू जो Chrome ब्राउज़र विंडो के न होने की जानकारी देती है.

वैल्यू

-1

तरीके

create()

Promise
chrome.windows.create(
  createData?: object,
  callback?: function,
)
: Promise<Window | undefined>

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

पैरामीटर

  • createData

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

    • फ़ोकस किया गया

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

      अगर true, तो कोई ऐक्टिव विंडो खुलती है. अगर false, तो इससे इनऐक्टिव विंडो खुलती है.

    • ऊंचाई

      number optional

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

    • गुप्त

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

      क्या नई विंडो को गुप्त विंडो के तौर पर खोलना है.

    • बाएं

      number optional

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

    • setSelfAsOpener

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

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

      अगर true, तो नई विंडो के 'window.opener' को कॉलर पर सेट किया जाता है. साथ ही, यह कॉलर के साथ एक ही यूनिट ऑफ़ रिलेटेड ब्राउज़िंग कॉन्टेक्स्ट में होता है.

    • राज्य

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

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

      विंडो की शुरुआती स्थिति. minimized, maximized, और fullscreen को left, top, width या height के साथ नहीं जोड़ा जा सकता.

    • tabId

      number optional

      नई विंडो में जोड़ने के लिए टैब का आईडी.

    • ऊपर

      number optional

      स्क्रीन के सबसे ऊपर वाले किनारे से नई विंडो को पोज़िशन करने के लिए पिक्सल की संख्या. अगर कोई वैल्यू तय नहीं की गई है, तो नई विंडो को पिछली फ़ोकस की गई विंडो से स्वाभाविक रूप से ऑफ़सेट किया जाता है. पैनल के लिए, इस वैल्यू को अनदेखा कर दिया जाता है.

    • टाइप

      CreateType optional

      इससे पता चलता है कि किस तरह की ब्राउज़र विंडो बनानी है.

    • url

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

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

    • चौड़ाई

      number optional

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

  • कॉलबैक

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

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

    (window?: Window) => void

    • विंडो

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

      इस कुकी में बनाई गई विंडो के बारे में जानकारी होती है.

रिटर्न

  • Promise<Window | undefined>

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

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

get()

Promise
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

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

पैरामीटर

  • windowId

    संख्या

  • queryOptions

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

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

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

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

    (window: Window) => void

रिटर्न

  • Promise<Window>

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

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

getAll()

Promise
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window[]>

इससे सभी विंडो मिलती हैं.

पैरामीटर

  • queryOptions

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

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

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

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

    (windows: Window[]) => void

रिटर्न

  • Promise<Window[]>

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

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

getCurrent()

Promise
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

मौजूदा विंडो को ऐक्सेस करता है.

पैरामीटर

  • queryOptions

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

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

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

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

    (window: Window) => void

रिटर्न

  • Promise<Window>

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

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

getLastFocused()

Promise
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)
: Promise<Window>

यह कुकी, उस विंडो को दिखाती है जिस पर हाल ही में फ़ोकस किया गया था. आम तौर पर, यह 'सबसे ऊपर' वाली विंडो होती है.

पैरामीटर

  • queryOptions

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

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

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

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

    (window: Window) => void

रिटर्न

  • Promise<Window>

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

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

remove()

Promise
chrome.windows.remove(
  windowId: number,
  callback?: function,
)
: Promise<void>

इससे विंडो और उसमें मौजूद सभी टैब हट जाते हैं (बंद हो जाते हैं).

पैरामीटर

  • windowId

    संख्या

  • कॉलबैक

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

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

    () => void

रिटर्न

  • Promise<void>

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

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

update()

Promise
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)
: Promise<Window>

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

पैरामीटर

  • windowId

    संख्या

  • updateInfo

    ऑब्जेक्ट

    • drawAttention

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

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

    • फ़ोकस किया गया

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

      अगर true, तो विंडो को सबसे ऊपर ले आता है; इसे 'छोटा किया गया' स्थिति के साथ नहीं जोड़ा जा सकता. अगर false, तो z-ऑर्डर में अगली विंडो को सबसे ऊपर ले जाता है; इसे 'फ़ुलस्क्रीन' या 'ज़्यादा से ज़्यादा' स्थिति के साथ नहीं जोड़ा जा सकता.

    • ऊंचाई

      number optional

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

    • बाएं

      number optional

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

    • राज्य

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

      विंडो की नई स्थिति. 'minimized', 'maximized', और 'fullscreen' स्थितियों को 'left', 'top', 'width' या 'height' के साथ नहीं जोड़ा जा सकता.

    • ऊपर

      number optional

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

    • चौड़ाई

      number optional

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

  • कॉलबैक

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

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

    (window: Window) => void

रिटर्न

  • Promise<Window>

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

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

इवेंट

onBoundsChanged

Chrome 86 या इसके बाद के वर्शन
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (window: Window) => void

onCreated

chrome.windows.onCreated.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    (window: Window) => void

    • विंडो

      बनाई गई विंडो की जानकारी.

  • फ़िल्टर

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

    • windowTypes

      ऐसी शर्तें जिन्हें विंडो के बनाए जा रहे टाइप को पूरा करना होगा. डिफ़ॉल्ट रूप से, यह ['normal', 'popup'] को पूरा करता है.

onFocusChanged

chrome.windows.onFocusChanged.addListener(
  callback: function,
  filters?: object,
)

जब फ़ोकस की गई मौजूदा विंडो बदलती है, तब यह इवेंट ट्रिगर होता है. अगर सभी Chrome विंडो पर फ़ोकस नहीं है, तो chrome.windows.WINDOW_ID_NONE दिखाता है. ध्यान दें: कुछ Linux विंडो मैनेजर पर, एक Chrome विंडो से दूसरी Chrome विंडो पर स्विच करने से पहले, WINDOW_ID_NONE हमेशा तुरंत भेजा जाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    (windowId: number) => void

    • windowId

      संख्या

      फ़ोकस की गई नई विंडो का आईडी.

  • फ़िल्टर

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

    • windowTypes

      ऐसी शर्तें जिन्हें हटाए जा रहे विंडो टाइप को पूरा करना होगा. डिफ़ॉल्ट रूप से, यह ['normal', 'popup'] को पूरा करता है.

onRemoved

chrome.windows.onRemoved.addListener(
  callback: function,
  filters?: object,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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

    (windowId: number) => void

    • windowId

      संख्या

      हटाए गए विंडो का आईडी.

  • फ़िल्टर

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

    • windowTypes

      ऐसी शर्तें जिन्हें हटाए जा रहे विंडो टाइप को पूरा करना होगा. डिफ़ॉल्ट रूप से, यह ['normal', 'popup'] की शर्त पूरी करता है.