chrome.windows

ब्यौरा

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

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

Enum

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

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

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

QueryOptions

Chrome 88 और उसके बाद के वर्शन

प्रॉपर्टी

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

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

    अगर सही है, तो 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

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

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

"कम से कम"
विंडो की कम से कम स्थिति.

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

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

"locked-fullscreen"
लॉक की हुई फ़ुलस्क्रीन विंडो की स्थिति. उपयोगकर्ता की कार्रवाई से इस फ़ुलस्क्रीन स्थिति को नहीं हटाया जा सकता. साथ ही, यह Chrome OS पर सिर्फ़ अनुमति वाली सूची में शामिल एक्सटेंशन के लिए उपलब्ध है.

WindowType

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

    Chrome 88 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.

इवेंट

onBoundsChanged

Chrome 86 और उसके बाद के वर्शन
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (window: Window) => void

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'] के नियमों के हिसाब से है.