chrome.extensionTypes

ब्यौरा

chrome.extensionTypes API में, Chrome एक्सटेंशन के लिए टाइप डिक्लेरेशन शामिल होते हैं.

टाइप

ColorArray

Chrome 139 और इसके बाद के वर्शन

टाइप

[number, number, number, number]

CSSOrigin

Chrome 66 या इसके बाद के वर्शन

इंजेक्ट की गई सीएसएस का ऑरिजिन.

Enum

"author"

"user"

DeleteInjectionDetails

Chrome 87 या इसके बाद के वर्शन

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

प्रॉपर्टी

  • allFrames

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

    अगर allFrames true है, तो इसका मतलब है कि सीएसएस को मौजूदा पेज के सभी फ़्रेम से हटा दिया जाना चाहिए. डिफ़ॉल्ट रूप से, यह false होता है और इसे सिर्फ़ टॉप फ़्रेम से हटाया जाता है. अगर true और frameId सेट है, तो कोड को चुने गए फ़्रेम और उसके सभी चाइल्ड फ़्रेम से हटा दिया जाता है.

  • कोड

    string ज़रूरी नहीं है

    हटाने के लिए सीएसएस कोड.

  • cssOrigin

    CSSOrigin ज़रूरी नहीं है

    हटाने के लिए सीएसएस का ओरिजन. डिफ़ॉल्ट रूप से, यह "author" पर सेट होती है.

  • फ़ाइल

    string ज़रूरी नहीं है

    हटाने के लिए सीएसएस फ़ाइल.

  • frameId

    number ज़रूरी नहीं

    वह फ़्रेम जहां से सीएसएस को हटाना है. डिफ़ॉल्ट रूप से, इसकी वैल्यू 0 (टॉप-लेवल फ़्रेम) होती है.

  • matchAboutBlank

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

    अगर matchAboutBlank की वैल्यू true है, तो कोड को about:blank और about:srcdoc फ़्रेम से भी हटा दिया जाता है. हालांकि, ऐसा तब होता है, जब आपके एक्सटेंशन के पास पैरंट दस्तावेज़ का ऐक्सेस हो. डिफ़ॉल्ट रूप से यह false होता है.

DocumentLifecycle

Chrome 106 और इसके बाद के वर्शन

फ़्रेम के दस्तावेज़ की लाइफ़साइकल.

Enum

"prerender"

"active"

"cached"

"pending_deletion"

ExecutionWorld

Chrome 111+

यह JavaScript का वह एनवायरमेंट होता है जिसमें स्क्रिप्ट को एक्ज़ीक्यूट किया जाता है. यह इस एक्सटेंशन के लिए यूनीक आइसोलेटेड वर्ल्ड हो सकता है. साथ ही, यह DOM का मुख्य वर्ल्ड भी हो सकता है, जिसे पेज के JavaScript के साथ शेयर किया जाता है. इसके अलावा, यह उपयोगकर्ता की स्क्रिप्ट का वर्ल्ड भी हो सकता है, जो सिर्फ़ User Scripts API के साथ रजिस्टर की गई स्क्रिप्ट के लिए उपलब्ध होता है.

Enum

"ISOLATED"

"MAIN"

"USER_SCRIPT"

FrameType

Chrome 106 और इसके बाद के वर्शन

फ़्रेम का टाइप.

Enum

"outermost_frame"

"fenced_frame"

"sub_frame"

ImageDataType

Chrome 139 और इसके बाद के वर्शन

किसी इमेज के लिए पिक्सल डेटा. यह ImageData ऑब्जेक्ट होना चाहिए. उदाहरण के लिए, canvas एलिमेंट से.

टाइप

ImageData

ImageDetails

किसी इमेज के फ़ॉर्मैट, क्वालिटी, और साइज़ के बारे में जानकारी.

प्रॉपर्टी

  • फ़ॉर्मैट

    ImageFormat ज़रूरी नहीं है

    जनरेट की गई इमेज का फ़ॉर्मैट. डिफ़ॉल्ट वैल्यू "jpeg" है.

  • गुणवत्ता

    number ज़रूरी नहीं

    फ़ॉर्मैट "jpeg" होने पर, इससे इमेज की क्वालिटी कंट्रोल की जाती है. पीएनजी इमेज के लिए, इस वैल्यू को अनदेखा कर दिया जाता है. क्वालिटी कम होने पर, इमेज में ज़्यादा विज़ुअल आर्टफ़ैक्ट दिखेंगे. साथ ही, इसे सेव करने के लिए कम बाइट की ज़रूरत होगी.

ImageFormat

Chrome 44 या इसके बाद का वर्शन

इमेज का फ़ॉर्मैट.

Enum

"jpeg"

"png"

InjectDetails

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

प्रॉपर्टी

  • allFrames

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

    अगर allFrames true है, तो इसका मतलब है कि JavaScript या सीएसएस को मौजूदा पेज के सभी फ़्रेम में इंजेक्ट किया जाना चाहिए. डिफ़ॉल्ट रूप से, यह false होता है और इसे सिर्फ़ टॉप फ़्रेम में इंजेक्ट किया जाता है. अगर true और frameId सेट है, तो कोड को चुने गए फ़्रेम और उसके सभी चाइल्ड फ़्रेम में डाला जाता है.

  • कोड

    string ज़रूरी नहीं है

    इंजेक्ट करने के लिए JavaScript या सीएसएस कोड.

    चेतावनी: code पैरामीटर का इस्तेमाल सावधानी से करें. इसका गलत इस्तेमाल करने से, आपके एक्सटेंशन पर क्रॉस साइट स्क्रिप्टिंग के हमले हो सकते हैं

  • cssOrigin

    CSSOrigin ज़रूरी नहीं है

    Chrome 66 या इसके बाद के वर्शन

    इंजेक्ट की जाने वाली सीएसएस का ऑरिजिन. इसे सिर्फ़ सीएसएस के लिए तय किया जा सकता है, JavaScript के लिए नहीं. डिफ़ॉल्ट रूप से, यह "author" पर सेट होती है.

  • फ़ाइल

    string ज़रूरी नहीं है

    इंजेक्ट करने के लिए JavaScript या सीएसएस फ़ाइल.

  • frameId

    number ज़रूरी नहीं

    Chrome 50+

    वह फ़्रेम जहां स्क्रिप्ट या सीएसएस को इंजेक्ट किया जाना चाहिए. डिफ़ॉल्ट रूप से, इसकी वैल्यू 0 (टॉप-लेवल फ़्रेम) होती है.

  • matchAboutBlank

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

    अगर matchAboutBlank की वैल्यू सही है, तो कोड को about:blank और about:srcdoc फ़्रेम में भी इंजेक्ट किया जाता है. हालांकि, ऐसा तब होता है, जब आपके एक्सटेंशन के पास पैरंट दस्तावेज़ का ऐक्सेस हो. कोड को टॉप-लेवल के about:-frames में नहीं डाला जा सकता. डिफ़ॉल्ट रूप से यह false होता है.

  • runAt

    RunAt optional

    JavaScript या सीएसएस को टैब में जल्द से जल्द इंजेक्ट किया जाएगा. डिफ़ॉल्ट रूप से, इसे "document_idle" पर सेट किया जाता है.

RunAt

Chrome 44 या इसके बाद का वर्शन

JavaScript या सीएसएस को टैब में जल्द से जल्द इंजेक्ट किया जाएगा.

Enum

"document_start"
स्क्रिप्ट को सीएसएस की किसी भी फ़ाइल के बाद इंजेक्ट किया जाता है. हालांकि, किसी भी अन्य DOM के बनने या किसी अन्य स्क्रिप्ट के चलने से पहले ऐसा किया जाता है.

"document_end"
स्क्रिप्ट को DOM पूरा होने के तुरंत बाद इंजेक्ट किया जाता है. हालांकि, ऐसा इमेज और फ़्रेम जैसे सब-रिसोर्स लोड होने से पहले किया जाता है.

"document_idle"
ब्राउज़र, स्क्रिप्ट को इंजेक्ट करने के लिए "document_end" और window.onload इवेंट के तुरंत बाद का समय चुनता है. दस्तावेज़ को लोड होने में कितना समय लग रहा है और वह कितना जटिल है, इसके आधार पर तय होता है कि स्क्रिप्ट को कब इंजेक्ट किया जाएगा. साथ ही, इसे पेज लोड होने की स्पीड के लिए ऑप्टिमाइज़ किया जाता है. "document_idle" पर चलने वाली कॉन्टेंट स्क्रिप्ट को window.onload इवेंट के लिए सुनने की ज़रूरत नहीं होती. ये स्क्रिप्ट, DOM के पूरा होने के बाद ही चलती हैं. अगर किसी स्क्रिप्ट को window.onload के बाद चलाना ज़रूरी है, तो एक्सटेंशन यह देख सकता है कि onload पहले ही ट्रिगर हो चुका है या नहीं. इसके लिए, document.readyState प्रॉपर्टी का इस्तेमाल किया जा सकता है.