chrome.pageAction

ब्यौरा

पता बार की दाईं ओर, Google Chrome के मुख्य टूलबार में आइकॉन रखने के लिए, chrome.pageAction एपीआई का इस्तेमाल करें. पेज से जुड़ी कार्रवाइयां, मौजूदा पेज पर की जा सकने वाली कार्रवाइयां दिखाती हैं. हालांकि, ये कार्रवाइयां सभी पेजों पर लागू नहीं होती हैं. निष्क्रिय होने पर पेज क्रियाएं धूसर दिखाई जाती हैं.

उपलब्धता

≤ MV2

कुछ उदाहरण:

  • इस पेज के आरएसएस फ़ीड की सदस्यता लें
  • इस पेज के फ़ोटो से एक स्लाइड शो बनाएं

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

छिपी हुई पेज कार्रवाइयां धूसर दिखाई देती हैं. उदाहरण के लिए, यहां दिए गए आरएसएस फ़ीड को धूसर किया गया है, क्योंकि आपको ये काम नहीं किए जा सकते मौजूदा पेज के लिए फ़ीड की सदस्यता लें:

इसके बजाय, कृपया ब्राउज़र की कार्रवाई का इस्तेमाल करें, ताकि उपयोगकर्ता हमेशा आपकी एक्सटेंशन चुनें.

मेनिफ़ेस्ट

अपनी पेज कार्रवाई को इस तरह से एक्सटेंशन मेनिफ़ेस्ट में रजिस्टर करें:

{
  "name": "My extension",
  ...
  "page_action": {
    "default_icon": {                    // optional
      "16": "images/icon16.png",           // optional
      "24": "images/icon24.png",           // optional
      "32": "images/icon32.png"            // optional
    },
    "default_title": "Google Mail",      // optional; shown in tooltip
    "default_popup": "popup.html"        // optional
  },
  ...
}

आम तौर पर, 1.5x या 1.2x जैसे कम-सामान्य स्केल फ़ैक्टर वाले डिवाइसों की संख्या बढ़ती जा रही है. इसलिए, आपने आपके आइकन के लिए कई आकार उपलब्ध कराने के लिए प्रोत्साहित किया गया है. Chrome सबसे नज़दीकी हिस्सा चुनेगा और उसका साइज़ बड़ा करेगा 16 डिप स्पेस को भरने के लिए. इससे यह भी पक्का होता है कि अगर आइकॉन के डिसप्ले का साइज़ कभी बदला जाता है, तो आपको अलग-अलग आइकॉन देने के लिए और काम करने की ज़रूरत है! हालांकि, अगर साइज़ का अंतर बहुत ज़्यादा है, इस स्केलिंग से आइकॉन की बारीकियां हट सकती हैं या वह धुंधला दिख सकता है.

डिफ़ॉल्ट आइकॉन को रजिस्टर करने का पुराना सिंटैक्स अब भी काम करता है:

{
  "name": "My extension",
  ...
  "page_action": {
    ...
    "default_icon": "images/icon32.png"  // optional
    // equivalent to "default_icon": { "32": "images/icon32.png" }
  },
  ...
}

यूज़र इंटरफ़ेस (यूआई) के हिस्से

ब्राउज़र की कार्रवाइयों की तरह, पेज पर होने वाली कार्रवाइयों में भी आइकॉन, टूलटिप, और पॉप-अप हो सकता है; तो उन्हें बैज नहीं मिलते, हालांकि. इसके अलावा, पेज कार्रवाइयां धूसर की जा सकती हैं. आपको आइकॉन, टूलटिप, और पॉप-अप देखने के लिए, ब्राउज़र ऐक्शन यूज़र इंटरफ़ेस (यूआई) के बारे में पढ़ें.

pageAction.show का इस्तेमाल करके, पेज पर की गई कार्रवाई दिखाएं और उसे धूसर किया गया हो pageAction.hide तरीके. डिफ़ॉल्ट रूप से, पेज कार्रवाई धूसर दिखती है. आसानी से अपने कैलेंडर में जोड़ें. दिखाते हैं, तो आपको वह टैब तय करना होता है जिसमें आइकॉन दिखना चाहिए. यह आइकॉन तब तक दिखता रहता है, जब तक कि बंद है या कोई दूसरा यूआरएल दिखाने लगता है (क्योंकि उदाहरण के लिए, उपयोगकर्ता किसी लिंक पर क्लिक करता है).

सलाह

बेहतरीन विज़ुअल इफ़ेक्ट के लिए, इन दिशा-निर्देशों का पालन करें:

  • पेज से जुड़ी कार्रवाइयों का इस्तेमाल उन सुविधाओं के लिए करें जो सिर्फ़ कुछ ही पेजों के लिए काम की हों.
  • उन सुविधाओं के लिए पेज ऐक्शन का इस्तेमाल न करें जो ज़्यादातर पेजों के लिए काम की हों. ब्राउज़र की कार्रवाइयों का इस्तेमाल करें आज़माएं.
  • अपने आइकॉन को लगातार ऐनिमेट न करें. यह सिर्फ़ परेशान करने वाला है.

टाइप

ImageDataType

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

टाइप

ImageData

TabDetails

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

प्रॉपर्टी

  • tabId

    नंबर वैकल्पिक

    क्वेरी की स्थिति के लिए, टैब का आईडी. अगर कोई टैब तय नहीं किया गया है, तो टैब की खास स्थिति दिखाई जाती है.

तरीके

getPopup()

प्रॉमिस
chrome.pageAction.getPopup(
  details: TabDetails,
  callback?: function,
)

इस पेज की कार्रवाई के लिए एचटीएमएल दस्तावेज़ को पॉप-अप के तौर पर सेट करता है.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (result: string) => void

    • नतीजा

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

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

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

getTitle()

प्रॉमिस
chrome.pageAction.getTitle(
  details: TabDetails,
  callback?: function,
)

पेज पर की जाने वाली कार्रवाई का टाइटल पाएं.

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (result: string) => void

    • नतीजा

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

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

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

hide()

प्रॉमिस
chrome.pageAction.hide(
  tabId: number,
  callback?: function,
)

पेज की कार्रवाई छिपा देता है. छिपी हुई पेज कार्रवाइयां अब भी Chrome टूलबार में दिखाई देती हैं, लेकिन वे धूसर हो जाती हैं.

पैरामीटर

  • tabId

    संख्या

    उस टैब का आईडी जिसके लिए आप पेज कार्रवाई को बदलना चाहते हैं.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

setIcon()

प्रॉमिस
chrome.pageAction.setIcon(
  details: object,
  callback?: function,
)

पेज कार्रवाई के लिए आइकॉन सेट करता है. आइकॉन को किसी इमेज फ़ाइल के पाथ के तौर पर या किसी कैनवस एलिमेंट के पिक्सल डेटा के तौर पर या इनमें से किसी एक की डिक्शनरी के तौर पर बताया जा सकता है. path या imageData प्रॉपर्टी बताना ज़रूरी है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • iconIndex

      नंबर वैकल्पिक

      अब काम नहीं करता. इस तर्क को अनदेखा किया जाता है.

    • इमेज डेटा

      ImageData | ऑब्जेक्ट ज़रूरी नहीं

      कोई ImageData ऑब्जेक्ट या एक शब्दकोश {size -> ImageData}, सेट किए जाने वाले आइकॉन को दिखाता है. अगर आइकॉन को डिक्शनरी के तौर पर बताया गया है, तो असल में इस्तेमाल की जाने वाली इमेज, स्क्रीन की पिक्सल डेंसिटी के हिसाब से चुनी जाती है. अगर एक स्क्रीन स्पेस यूनिट में फ़िट होने वाले इमेज पिक्सल scale के बराबर हैं, तो scale * n साइज़ वाली इमेज चुनी जाएगी. यहां n यूज़र इंटरफ़ेस (यूआई) में आइकॉन का साइज़ होगा. कम से कम एक इमेज के बारे में बताना ज़रूरी है. ध्यान दें कि 'details.imageData = foo' 'details.imageData = {'16': foo}' के बराबर है

    • पाथ

      string | ऑब्जेक्ट ज़रूरी नहीं

      मिलती-जुलती इमेज का पाथ या डिक्शनरी {size -> रिलेटिव इमेज पाथ} आइकॉन पर क्लिक करता है. अगर आइकॉन को डिक्शनरी के तौर पर बताया गया है, तो असल में इस्तेमाल की जाने वाली इमेज, स्क्रीन की पिक्सल डेंसिटी के हिसाब से चुनी जाती है. अगर एक स्क्रीन स्पेस यूनिट में फ़िट होने वाले इमेज पिक्सल scale के बराबर हैं, तो scale * n साइज़ वाली इमेज चुनी जाएगी. यहां n यूज़र इंटरफ़ेस (यूआई) में आइकॉन का साइज़ होगा. कम से कम एक इमेज के बारे में बताना ज़रूरी है. ध्यान दें कि 'details.path = foo' 'details.path = {'16': foo}' के बराबर है

    • tabId

      संख्या

      उस टैब का आईडी जिसके लिए आप पेज कार्रवाई को बदलना चाहते हैं.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

setPopup()

प्रॉमिस
chrome.pageAction.setPopup(
  details: object,
  callback?: function,
)

जब उपयोगकर्ता पेज की कार्रवाई के आइकॉन पर क्लिक करता है, तब एचटीएमएल दस्तावेज़ को पॉप-अप के तौर पर खुलने के लिए सेट करता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • पॉप-अप

      स्ट्रिंग

      पॉप-अप में दिखाने के लिए, एचटीएमएल फ़ाइल का मिलता-जुलता पाथ. अगर इसे खाली स्ट्रिंग ('') पर सेट किया जाता है, तो कोई पॉप-अप नहीं दिखता.

    • tabId

      संख्या

      उस टैब का आईडी जिसके लिए आप पेज कार्रवाई को बदलना चाहते हैं.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

setTitle()

प्रॉमिस
chrome.pageAction.setTitle(
  details: object,
  callback?: function,
)

पेज की कार्रवाई का टाइटल सेट करता है. इसे पेज पर की जाने वाली कार्रवाई पर टूलटिप में दिखाया जाता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

    • tabId

      संख्या

      उस टैब का आईडी जिसके लिए आप पेज कार्रवाई को बदलना चाहते हैं.

    • title

      स्ट्रिंग

      टूलटिप स्ट्रिंग.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

show()

प्रॉमिस
chrome.pageAction.show(
  tabId: number,
  callback?: function,
)

पेज पर होने वाली कार्रवाई दिखाता है. जब भी टैब चुना जाता है, तब पेज कार्रवाई दिखती है.

पैरामीटर

  • tabId

    संख्या

    उस टैब का आईडी जिसके लिए आप पेज कार्रवाई को बदलना चाहते हैं.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

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

    () => void

रिटर्न

  • प्रॉमिस<void>

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

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

इवेंट

onClicked

chrome.pageAction.onClicked.addListener(
  callback: function,
)

यह तब ट्रिगर होता है, जब पेज ऐक्शन आइकॉन पर क्लिक किया जाता है. अगर पेज कार्रवाई में कोई पॉप-अप है, तो यह इवेंट सक्रिय नहीं होगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (tab: tabs.Tab) => void