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