ब्यौरा
ब्राउज़र विंडो के साथ इंटरैक्ट करने के लिए, 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 का उदाहरण इंस्टॉल करें.
टाइप
CreateType
इससे पता चलता है कि किस तरह की ब्राउज़र विंडो बनानी है. 'पैनल' सुविधा अब काम नहीं करती. यह सुविधा सिर्फ़ Chrome OS पर, अनुमति वाली सूची में शामिल मौजूदा एक्सटेंशन के लिए उपलब्ध है.
Enum
"normal" 
 इससे विंडो को स्टैंडर्ड विंडो के तौर पर सेट किया जाता है.
"popup" 
 इससे विंडो को पॉपअप विंडो के तौर पर सेट किया जाता है.
"panel" 
 विंडो को पैनल के तौर पर सेट करता है.
QueryOptions
प्रॉपर्टी
- 
    अपने-आप जानकारी भर जानाबूलियन ज़रूरी नहीं है अगर यह वैल्यू सही है, तो windows.Windowऑब्जेक्ट मेंtabsप्रॉपर्टी होती है. इसमेंtabs.Tabऑब्जेक्ट की सूची होती है.Tabऑब्जेक्ट में सिर्फ़url,pendingUrl,title, औरfavIconUrlप्रॉपर्टी शामिल होती हैं. ऐसा तब होता है, जब एक्सटेंशन की मेनिफ़ेस्ट फ़ाइल में"tabs"अनुमति शामिल हो.
- 
    windowTypesWindowType[] ज़रूरी नहीं है अगर यह सेट है, तो windows.Windowको उसके टाइप के आधार पर फ़िल्टर किया जाता है. अगर यह नीति सेट नहीं की गई है, तो डिफ़ॉल्ट फ़िल्टर['normal', 'popup']पर सेट होता है.
Window
प्रॉपर्टी
- 
    alwaysOnTopबूलियन इससे पता चलता है कि विंडो को हमेशा सबसे ऊपर दिखने के लिए सेट किया गया है या नहीं. 
- 
    फ़ोकस किया गयाबूलियन इससे पता चलता है कि फ़िलहाल विंडो फ़ोकस में है या नहीं. 
- 
    ऊंचाईnumber ज़रूरी नहीं फ़्रेम के साथ विंडो की ऊंचाई, पिक्सल में. कुछ मामलों में, किसी विंडो को heightप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.
- 
    आईडीnumber ज़रूरी नहीं विंडो का आईडी. ब्राउज़र सेशन में विंडो आईडी यूनीक होते हैं. कुछ मामलों में, किसी विंडो को IDप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई का इस्तेमाल करके विंडो क्वेरी करते समय. ऐसे मामले में, सेशन आईडी मौजूद हो सकता है.
- 
    गुप्तबूलियन विंडो गुप्त है या नहीं. 
- 
    बाएंnumber ज़रूरी नहीं स्क्रीन के बाईं ओर से विंडो का ऑफ़सेट, पिक्सल में. कुछ मामलों में, किसी विंडो को leftप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.
- 
    sessionIdstring ज़रूरी नहीं है इस सेशन आईडी का इस्तेमाल, किसी विंडो की यूनीक पहचान करने के लिए किया जाता है. यह sessionsएपीआई से मिलता है.
- 
    राज्यWindowState ज़रूरी नहीं है इस ब्राउज़र विंडो की स्थिति. 
- 
    टैबTab[] ज़रूरी नहीं है विंडो में मौजूद मौजूदा टैब दिखाने वाले tabs.Tabऑब्जेक्ट का कलेक्शन.
- 
    ऊपरnumber ज़रूरी नहीं स्क्रीन के सबसे ऊपरी किनारे से विंडो का ऑफ़सेट, पिक्सल में. कुछ मामलों में, किसी विंडो को topप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.
- 
    टाइपWindowType ज़रूरी नहीं है यह किस तरह की ब्राउज़र विंडो है. 
- 
    चौड़ाईnumber ज़रूरी नहीं फ़्रेम के साथ विंडो की चौड़ाई, पिक्सल में. कुछ मामलों में, किसी विंडो को widthप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.
WindowState
इस ब्राउज़र विंडो की स्थिति. कुछ मामलों में, किसी विंडो को state प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय.
Enum
"normal" 
 विंडो की सामान्य स्थिति (न तो छोटी की गई हो, न बड़ी की गई हो, और न ही फ़ुलस्क्रीन पर हो).
"minimized" 
 विंडो को छोटा किया गया है.
"maximized" 
 विंडो को बड़ा किया गया है.
"fullscreen" 
 फ़ुलस्क्रीन विंडो की स्थिति.
"locked-fullscreen" 
 लॉक की गई फ़ुलस्क्रीन विंडो की स्थिति. उपयोगकर्ता के किसी भी ऐक्शन से, फ़ुलस्क्रीन मोड बंद नहीं किया जा सकता. यह मोड सिर्फ़ Chrome OS पर, अनुमति वाली सूची में शामिल एक्सटेंशन के लिए उपलब्ध है.
WindowType
यह ब्राउज़र विंडो का टाइप है. कुछ मामलों में, किसी विंडो को type प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions API से बंद की गई विंडो के बारे में क्वेरी करते समय.
Enum
"normal" 
 यह ब्राउज़र की सामान्य विंडो होती है.
"popup" 
 ब्राउज़र का पॉपअप.
"panel" 
 इस एपीआई में बंद कर दिया गया है. Chrome ऐप्लिकेशन की पैनल स्टाइल वाली विंडो. एक्सटेंशन सिर्फ़ अपनी पैनल विंडो देख सकते हैं.
"app" 
 इस एपीआई में इस्तेमाल नहीं किया जा सकता. Chrome ऐप्लिकेशन की विंडो. एक्सटेंशन सिर्फ़ अपने ऐप्लिकेशन की विंडो देख सकते हैं.
"devtools" 
 डेवलपर टूल विंडो.
प्रॉपर्टी
WINDOW_ID_CURRENT
windowId वैल्यू, मौजूदा विंडो को दिखाती है.
मान
-2 
 
WINDOW_ID_NONE
windowId की वह वैल्यू जो Chrome ब्राउज़र की विंडो के न होने की जानकारी देती है.
मान
-1 
 
तरीके
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
यह फ़ंक्शन, नई ब्राउज़र विंडो बनाता है (खोलता है). इसमें साइज़, पोज़िशन या डिफ़ॉल्ट यूआरएल के लिए कोई भी विकल्प दिया जा सकता है.
पैरामीटर
- 
    createDataobject ज़रूरी नहीं है - 
    फ़ोकस किया गयाबूलियन ज़रूरी नहीं है अगर true, तो चालू विंडो खुल जाती है. अगरfalse, तो इनऐक्टिव विंडो खुलती है.
- 
    ऊंचाईnumber ज़रूरी नहीं नई विंडो की ऊंचाई, पिक्सल में. इसमें फ़्रेम भी शामिल है. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से सामान्य ऊंचाई सेट होती है. 
- 
    गुप्तबूलियन ज़रूरी नहीं है क्या नई विंडो, गुप्त विंडो होनी चाहिए. 
- 
    बाएंnumber ज़रूरी नहीं स्क्रीन के बाएं किनारे से नई विंडो को पोज़िशन करने के लिए पिक्सल की संख्या. अगर यह विकल्प नहीं चुना जाता है, तो नई विंडो, फ़ोकस की गई पिछली विंडो से अपने-आप ऑफ़सेट हो जाती है. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
- 
    setSelfAsOpenerबूलियन ज़रूरी नहीं है Chrome 64+अगर true, तो नई विंडो के 'window.opener' को कॉलर पर सेट किया जाता है. साथ ही, यह कॉलर के तौर पर ब्राउज़िंग कॉन्टेक्स्ट के एक ही यूनिट में होता है.
- 
    राज्यWindowState ज़रूरी नहीं है Chrome 44 या इसके बाद का वर्शनविंडो की शुरुआती स्थिति. minimized,maximized, औरfullscreenराज्यों कोleft,top,widthयाheightके साथ नहीं जोड़ा जा सकता.
- 
    tabIdnumber ज़रूरी नहीं उस टैब का आईडी जिसे नई विंडो में जोड़ना है. 
- 
    ऊपरnumber ज़रूरी नहीं स्क्रीन के सबसे ऊपर वाले किनारे से नई विंडो को पोज़िशन करने के लिए पिक्सल की संख्या. अगर यह विकल्प नहीं चुना जाता है, तो नई विंडो, फ़ोकस की गई पिछली विंडो से अपने-आप ऑफ़सेट हो जाती है. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
- 
    टाइपCreateType ज़रूरी नहीं इससे पता चलता है कि किस तरह की ब्राउज़र विंडो बनानी है. 
- 
    urlstring | string[] ज़रूरी नहीं विंडो में टैब के तौर पर खोलने के लिए यूआरएल या यूआरएल का अरे. पूरी तरह से क्वालिफ़ाइड यूआरएल में कोई स्कीम शामिल होनी चाहिए. उदाहरण के लिए, 'http://www.google.com' होना चाहिए, न कि 'www.google.com'. एक्सटेंशन में, पूरी तरह से क्वालिफ़ाइड न किए गए यूआरएल को रिलेटिव माना जाता है. डिफ़ॉल्ट रूप से, यह New Tab Page पर सेट होता है. 
- 
    चौड़ाईnumber ज़रूरी नहीं फ़्रेम के साथ नई विंडो की चौड़ाई, पिक्सल में. अगर यह तय नहीं किया गया है, तो डिफ़ॉल्ट रूप से इमेज की चौड़ाई उसकी ओरिजनल चौड़ाई के बराबर होती है. 
 
- 
    
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(window?: Window) => void - 
    विंडोWindow ज़रूरी नहीं है इस कुकी में बनाई गई विंडो के बारे में जानकारी होती है. 
 
- 
    
रिटर्न
- 
            Promise<Window | undefined> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
किसी विंडो के बारे में जानकारी मिलती है.
पैरामीटर
- 
    windowIdसंख्या 
- 
    queryOptionsQueryOptions ज़रूरी नहीं है Chrome 88 या इसके बाद का वर्शन
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(window: Window) => void - 
    विंडो
 
- 
    
रिटर्न
- 
            Promise<Window> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
इससे सभी विंडो मिलती हैं.
पैरामीटर
- 
    queryOptionsQueryOptions ज़रूरी नहीं है Chrome 88 या इसके बाद का वर्शन
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(windows: Window[]) => void - 
    विंडोWindow[] 
 
- 
    
रिटर्न
- 
            Promise<Window[]> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
इससे मौजूदा विंडो मिलती है.
पैरामीटर
- 
    queryOptionsQueryOptions ज़रूरी नहीं है Chrome 88 या इसके बाद का वर्शन
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(window: Window) => void - 
    विंडो
 
- 
    
रिटर्न
- 
            Promise<Window> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
यह उस विंडो को दिखाता है जिस पर हाल ही में फ़ोकस किया गया था. आम तौर पर, यह 'सबसे ऊपर' वाली विंडो होती है.
पैरामीटर
- 
    queryOptionsQueryOptions ज़रूरी नहीं है Chrome 88 या इसके बाद का वर्शन
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(window: Window) => void - 
    विंडो
 
- 
    
रिटर्न
- 
            Promise<Window> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
इस सुविधा से, विंडो और उसमें मौजूद सभी टैब बंद हो जाते हैं.
पैरामीटर
- 
    windowIdसंख्या 
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:() => void 
रिटर्न
- 
            Promise<void> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
यह फ़ंक्शन, किसी विंडो की प्रॉपर्टी अपडेट करता है. सिर्फ़ उन प्रॉपर्टी के बारे में बताएं जिनमें बदलाव करना है. जिन प्रॉपर्टी के बारे में नहीं बताया गया है उनमें कोई बदलाव नहीं किया जाएगा.
पैरामीटर
- 
    windowIdसंख्या 
- 
    updateInfoऑब्जेक्ट - 
    drawAttentionबूलियन ज़रूरी नहीं है अगर trueहै, तो विंडो को इस तरह से दिखाया जाता है कि उपयोगकर्ता का ध्यान उस पर जाए. हालांकि, इससे फ़ोकस की गई विंडो में कोई बदलाव नहीं होता. यह इफ़ेक्ट तब तक दिखता है, जब तक उपयोगकर्ता विंडो पर फ़ोकस नहीं करता. अगर विंडो पहले से फ़ोकस में है, तो इस विकल्प का कोई असर नहीं पड़ता. पिछलाdrawAttentionअनुरोध रद्द करने के लिए, इसेfalseपर सेट करें.
- 
    फ़ोकस किया गयाबूलियन ज़रूरी नहीं है अगर true, तो विंडो को सबसे ऊपर ले आता है; इसे 'minimized' स्थिति के साथ नहीं जोड़ा जा सकता. अगरfalse, तो z-ऑर्डर में अगली विंडो को सबसे ऊपर ले आता है; इसे 'फ़ुलस्क्रीन' या 'बड़ी की गई' स्थिति के साथ नहीं जोड़ा जा सकता.
- 
    ऊंचाईnumber ज़रूरी नहीं विंडो का साइज़ बदलने के लिए पिक्सल में ऊंचाई. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
- 
    बाएंnumber ज़रूरी नहीं स्क्रीन के बाईं ओर से विंडो को पिक्सल में ले जाने का ऑफ़सेट. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
- 
    राज्यWindowState ज़रूरी नहीं है विंडो की नई स्थिति. 'minimized', 'maximized', और 'fullscreen' स्थितियों को 'left', 'top', 'width' या 'height' के साथ नहीं जोड़ा जा सकता. 
- 
    ऊपरnumber ज़रूरी नहीं स्क्रीन के सबसे ऊपर वाले किनारे से विंडो को पिक्सल में ले जाने के लिए ऑफ़सेट. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
- 
    चौड़ाईnumber ज़रूरी नहीं विंडो का साइज़ बदलने के लिए पिक्सल में चौड़ाई. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है. 
 
- 
    
- 
    कॉलबैकफ़ंक्शन ज़रूरी नहीं callbackपैरामीटर ऐसा दिखता है:(window: Window) => void - 
    विंडो
 
- 
    
रिटर्न
- 
            Promise<Window> Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा. 
इवेंट
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
जब किसी विंडो का साइज़ बदला जाता है, तब यह इवेंट ट्रिगर होता है. यह इवेंट सिर्फ़ तब भेजा जाता है, जब नई सीमाएं तय हो जाती हैं. यह इवेंट, बदलाव के दौरान नहीं भेजा जाता.
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
जब कोई विंडो बनाई जाती है, तब यह इवेंट ट्रिगर होता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन Chrome 46 या इसके बाद का वर्शनcallbackपैरामीटर ऐसा दिखता है:(window: Window) => void - 
    विंडोबनाई गई विंडो की जानकारी. 
 
- 
    
- 
    फ़िल्टरobject ज़रूरी नहीं है - 
    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संख्या फ़ोकस की गई नई विंडो का आईडी. 
 
- 
    
- 
    फ़िल्टरobject ज़रूरी नहीं है - 
    windowTypesऐसी शर्तें जिन्हें हटाए जा रहे विंडो टाइप को पूरा करना होगा. डिफ़ॉल्ट रूप से, यह ['normal', 'popup']को पूरा करता है.
 
- 
    
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
जब कोई विंडो हटा दी जाती है (बंद कर दी जाती है), तब यह इवेंट ट्रिगर होता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन Chrome 46 या इसके बाद का वर्शनcallbackपैरामीटर ऐसा दिखता है:(windowId: number) => void - 
    windowIdसंख्या हटाए गए विंडो का आईडी. 
 
- 
    
- 
    फ़िल्टरobject ज़रूरी नहीं है - 
    windowTypesऐसी शर्तें जिन्हें हटाए जा रहे विंडो टाइप को पूरा करना होगा. डिफ़ॉल्ट रूप से, यह ['normal', 'popup']को पूरा करता है.
 
-