ब्यौरा
ब्राउज़र विंडो के साथ इंटरैक्ट करने के लिए, 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"अनुमति शामिल हो. -
windowTypes
WindowType[] ज़रूरी नहीं है
अगर यह सेट है, तो
windows.Windowको उसके टाइप के आधार पर फ़िल्टर किया जाता है. अगर यह नीति सेट नहीं की गई है, तो डिफ़ॉल्ट फ़िल्टर['normal', 'popup']पर सेट होता है.
Window
प्रॉपर्टी
-
alwaysOnTop
बूलियन
इससे पता चलता है कि विंडो को हमेशा सबसे ऊपर दिखने के लिए सेट किया गया है या नहीं.
-
फ़ोकस किया गया
बूलियन
इससे पता चलता है कि फ़िलहाल विंडो फ़ोकस में है या नहीं.
-
ऊंचाई
number ज़रूरी नहीं
फ़्रेम के साथ विंडो की ऊंचाई, पिक्सल में. कुछ मामलों में, किसी विंडो को
heightप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय. -
आईडी
number ज़रूरी नहीं
विंडो का आईडी. ब्राउज़र सेशन में विंडो आईडी यूनीक होते हैं. कुछ मामलों में, किसी विंडो को
IDप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई का इस्तेमाल करके विंडो क्वेरी करते समय. ऐसे मामले में, सेशन आईडी मौजूद हो सकता है. -
गुप्त
बूलियन
विंडो गुप्त है या नहीं.
-
बाएं
number ज़रूरी नहीं
स्क्रीन के बाईं ओर से विंडो का ऑफ़सेट, पिक्सल में. कुछ मामलों में, किसी विंडो को
leftप्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए,sessionsएपीआई से बंद की गई विंडो के बारे में क्वेरी करते समय. -
sessionId
string ज़रूरी नहीं है
इस सेशन आईडी का इस्तेमाल, किसी विंडो की यूनीक पहचान करने के लिए किया जाता है. यह
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,
): Promise<Window | undefined>
यह फ़ंक्शन, नई ब्राउज़र विंडो बनाता है (खोलता है). इसमें साइज़, पोज़िशन या डिफ़ॉल्ट यूआरएल के लिए कोई भी विकल्प दिया जा सकता है.
पैरामीटर
-
createData
object ज़रूरी नहीं है
-
फ़ोकस किया गया
बूलियन ज़रूरी नहीं है
अगर
true, तो चालू विंडो खुल जाती है. अगरfalse, तो इनऐक्टिव विंडो खुलती है. -
ऊंचाई
number ज़रूरी नहीं
नई विंडो की ऊंचाई, पिक्सल में. इसमें फ़्रेम भी शामिल है. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से सामान्य ऊंचाई सेट होती है.
-
गुप्त
बूलियन ज़रूरी नहीं है
क्या नई विंडो, गुप्त विंडो होनी चाहिए.
-
बाएं
number ज़रूरी नहीं
स्क्रीन के बाएं किनारे से नई विंडो को पोज़िशन करने के लिए पिक्सल की संख्या. अगर यह विकल्प नहीं चुना जाता है, तो नई विंडो, फ़ोकस की गई पिछली विंडो से अपने-आप ऑफ़सेट हो जाती है. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
setSelfAsOpener
बूलियन ज़रूरी नहीं है
Chrome 64+अगर
true, तो नई विंडो के 'window.opener' को कॉलर पर सेट किया जाता है. साथ ही, यह कॉलर के तौर पर ब्राउज़िंग कॉन्टेक्स्ट के एक ही यूनिट में होता है. -
राज्य
WindowState ज़रूरी नहीं है
Chrome 44 या इसके बाद का वर्शनविंडो की शुरुआती स्थिति.
minimized,maximized, औरfullscreenराज्यों कोleft,top,widthयाheightके साथ नहीं जोड़ा जा सकता. -
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिसे नई विंडो में जोड़ना है.
-
ऊपर
number ज़रूरी नहीं
स्क्रीन के सबसे ऊपर वाले किनारे से नई विंडो को पोज़िशन करने के लिए पिक्सल की संख्या. अगर यह विकल्प नहीं चुना जाता है, तो नई विंडो, फ़ोकस की गई पिछली विंडो से अपने-आप ऑफ़सेट हो जाती है. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
टाइप
CreateType ज़रूरी नहीं
इससे पता चलता है कि किस तरह की ब्राउज़र विंडो बनानी है.
-
url
string | string[] ज़रूरी नहीं
विंडो में टैब के तौर पर खोलने के लिए यूआरएल या यूआरएल का अरे. पूरी तरह से क्वालिफ़ाइड यूआरएल में कोई स्कीम शामिल होनी चाहिए. उदाहरण के लिए, 'http://www.google.com' होना चाहिए, न कि 'www.google.com'. एक्सटेंशन में, पूरी तरह से क्वालिफ़ाइड न किए गए यूआरएल को रिलेटिव माना जाता है. डिफ़ॉल्ट रूप से, यह New Tab Page पर सेट होता है.
-
चौड़ाई
number ज़रूरी नहीं
फ़्रेम के साथ नई विंडो की चौड़ाई, पिक्सल में. अगर यह तय नहीं किया गया है, तो डिफ़ॉल्ट रूप से इमेज की चौड़ाई उसकी ओरिजनल चौड़ाई के बराबर होती है.
-
रिटर्न
-
Promise<Window | undefined>
Chrome 88 या इसके बाद का वर्शन
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
): Promise<Window>
किसी विंडो के बारे में जानकारी मिलती है.
पैरामीटर
-
windowId
संख्या
-
queryOptions
QueryOptions ज़रूरी नहीं है
Chrome 88 या इसके बाद का वर्शन
रिटर्न
-
Promise<Window>
Chrome 88 या इसके बाद का वर्शन
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
): Promise<Window[]>
इससे सभी विंडो मिलती हैं.
पैरामीटर
-
queryOptions
QueryOptions ज़रूरी नहीं है
Chrome 88 या इसके बाद का वर्शन
रिटर्न
-
Promise<Window[]>
Chrome 88 या इसके बाद का वर्शन
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
): Promise<Window>
इससे मौजूदा विंडो मिलती है.
पैरामीटर
-
queryOptions
QueryOptions ज़रूरी नहीं है
Chrome 88 या इसके बाद का वर्शन
रिटर्न
-
Promise<Window>
Chrome 88 या इसके बाद का वर्शन
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
): Promise<Window>
यह उस विंडो को दिखाता है जिस पर हाल ही में फ़ोकस किया गया था. आम तौर पर, यह 'सबसे ऊपर' वाली विंडो होती है.
पैरामीटर
-
queryOptions
QueryOptions ज़रूरी नहीं है
Chrome 88 या इसके बाद का वर्शन
रिटर्न
-
Promise<Window>
Chrome 88 या इसके बाद का वर्शन
remove()
chrome.windows.remove(
windowId: number,
): Promise<void>
इस सुविधा से, विंडो और उसमें मौजूद सभी टैब बंद हो जाते हैं.
पैरामीटर
-
windowId
संख्या
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शन
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
): Promise<Window>
यह फ़ंक्शन, किसी विंडो की प्रॉपर्टी अपडेट करता है. सिर्फ़ उन प्रॉपर्टी के बारे में बताएं जिनमें बदलाव करना है. जिन प्रॉपर्टी के बारे में नहीं बताया गया है उनमें कोई बदलाव नहीं किया जाएगा.
पैरामीटर
-
windowId
संख्या
-
updateInfo
ऑब्जेक्ट
-
drawAttention
बूलियन ज़रूरी नहीं है
अगर
trueहै, तो विंडो को इस तरह से दिखाया जाता है कि उपयोगकर्ता का ध्यान उस पर जाए. हालांकि, इससे फ़ोकस की गई विंडो में कोई बदलाव नहीं होता. यह इफ़ेक्ट तब तक दिखता है, जब तक उपयोगकर्ता विंडो पर फ़ोकस नहीं करता. अगर विंडो पहले से फ़ोकस में है, तो इस विकल्प का कोई असर नहीं पड़ता. पिछलाdrawAttentionअनुरोध रद्द करने के लिए, इसेfalseपर सेट करें. -
फ़ोकस किया गया
बूलियन ज़रूरी नहीं है
अगर
true, तो विंडो को सबसे ऊपर ले आता है; इसे 'minimized' स्थिति के साथ नहीं जोड़ा जा सकता. अगरfalse, तो z-ऑर्डर में अगली विंडो को सबसे ऊपर ले आता है; इसे 'फ़ुलस्क्रीन' या 'बड़ी की गई' स्थिति के साथ नहीं जोड़ा जा सकता. -
ऊंचाई
number ज़रूरी नहीं
विंडो का साइज़ बदलने के लिए पिक्सल में ऊंचाई. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
बाएं
number ज़रूरी नहीं
स्क्रीन के बाईं ओर से विंडो को पिक्सल में ले जाने का ऑफ़सेट. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
राज्य
WindowState ज़रूरी नहीं है
विंडो की नई स्थिति. 'minimized', 'maximized', और 'fullscreen' स्थितियों को 'left', 'top', 'width' या 'height' के साथ नहीं जोड़ा जा सकता.
-
ऊपर
number ज़रूरी नहीं
स्क्रीन के सबसे ऊपर वाले किनारे से विंडो को पिक्सल में ले जाने के लिए ऑफ़सेट. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
चौड़ाई
number ज़रूरी नहीं
विंडो का साइज़ बदलने के लिए पिक्सल में चौड़ाई. पैनल के लिए, इस वैल्यू को अनदेखा किया जाता है.
-
रिटर्न
-
Promise<Window>
Chrome 88 या इसके बाद का वर्शन
इवेंट
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']को पूरा करता है.
-