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