browser.windows

ब्यौरा

ब्राउज़र विंडो के साथ इंटरैक्ट करने के लिए, 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

Chrome 44+ browser.* Chrome 148 के बाद से

इससे पता चलता है कि किस तरह की ब्राउज़र विंडो बनानी है. 'panel' अब काम नहीं करता. यह सिर्फ़ Chrome OS पर, अनुमति वाली सूची में शामिल मौजूदा एक्सटेंशन के लिए उपलब्ध है.

Enum

"normal"
विंडो को स्टैंडर्ड विंडो के तौर पर सेट करता है.

"popup"
यह विंडो को पॉप-अप विंडो के तौर पर दिखाता है.

"panel"
विंडो को पैनल के तौर पर दिखाता है.

QueryOptions

Chrome 88+ browser.* Chrome 148 से

प्रॉपर्टी

  • अपने-आप जानकारी भर जाना

    बूलियन ज़रूरी नहीं

    अगर यह वैल्यू 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

Chrome 44+ browser.* Chrome 148 के बाद से

इस ब्राउज़र विंडो की स्थिति. कुछ मामलों में, किसी विंडो को state प्रॉपर्टी असाइन नहीं की जा सकती. उदाहरण के लिए, sessions एपीआई से बंद विंडो के बारे में क्वेरी करते समय.

Enum

"normal"
सामान्य विंडो स्टेट (छोटा, बड़ा या फ़ुलस्क्रीन नहीं किया गया).

"minimized"
विंडो को छोटा किया गया है.

"maximized"
विंडो को बड़ा किया गया है.

"fullscreen"
फ़ुलस्क्रीन विंडो की स्थिति.

WindowType

Chrome 44+ browser.* Chrome 148 के बाद से

यह ब्राउज़र विंडो का टाइप है. कुछ मामलों में, किसी विंडो को 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

Chrome 86+ Chrome 148 से, browser.*
browser.windows.onBoundsChanged.addListener(
  callback: function,
)

यह इवेंट तब ट्रिगर होता है, जब किसी विंडो का साइज़ बदला जाता है. यह इवेंट सिर्फ़ तब ट्रिगर होता है, जब नए बाउंड लागू किए जाते हैं. यह इवेंट, प्रोसेस में चल रहे बदलावों के लिए ट्रिगर नहीं होता.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर कुछ ऐसा दिखता है:

    (window: Window) => void

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'] को पूरा करता है.