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