ब्यौरा
ब्राउज़र के टैब सिस्टम के साथ इंटरैक्ट करने के लिए, chrome.tabs
एपीआई का इस्तेमाल करें. इस एपीआई का इस्तेमाल करके, ब्राउज़र में टैब बनाए जा सकते हैं, उनमें बदलाव किया जा सकता है, और उन्हें फिर से व्यवस्थित किया जा सकता है.
Tabs API, टैब को मैनेज करने और उनमें बदलाव करने की सुविधाएं देता है. साथ ही, यह टैब की भाषा का पता लगा सकता है, स्क्रीनशॉट ले सकता है, और टैब की कॉन्टेंट स्क्रिप्ट के साथ कम्यूनिकेट कर सकता है.
अनुमतियां
ज़्यादातर सुविधाओं का इस्तेमाल करने के लिए, किसी अनुमति की ज़रूरत नहीं होती. उदाहरण के लिए: नया टैब बनाना, टैब को फिर से लोड करना, किसी दूसरे यूआरएल पर नेविगेट करना वगैरह.
Tabs API का इस्तेमाल करते समय, डेवलपर को तीन अनुमतियों के बारे में पता होना चाहिए.
- "टैब" की अनुमति
इस अनुमति से
chrome.tabs
नेमस्पेस को ऐक्सेस नहीं किया जा सकता. इसके बजाय, यह एक्सटेंशन कोtabs.Tab
इंस्टेंस पर मौजूद चार संवेदनशील प्रॉपर्टी के लिए,tabs.query()
को कॉल करने की अनुमति देता है:url
,pendingUrl
,title
, औरfavIconUrl
.{ "name": "My extension", ... "permissions": [ "tabs" ], ... }
- होस्ट की अनुमतियां
होस्ट की अनुमतियों की मदद से, एक्सटेंशन किसी टैब से मिलती-जुलती चार संवेदनशील
tabs.Tab
प्रॉपर्टी को पढ़ सकता है और उनसे जुड़ी क्वेरी कर सकता है. वेtabs.captureVisibleTab()
,scripting.executeScript()
,scripting.insertCSS()
, औरscripting.removeCSS()
जैसे तरीकों का इस्तेमाल करके, मिलते-जुलते टैब के साथ सीधे तौर पर इंटरैक्ट भी कर सकते हैं.{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- "activeTab" अनुमति
activeTab
, उपयोगकर्ता के अनुरोध पर, मौजूदा टैब के लिए एक्सटेंशन को कुछ समय के लिए होस्ट करने की अनुमति देता है. होस्ट की अनुमतियों के उलट,activeTab
से कोई चेतावनी ट्रिगर नहीं होती.{ "name": "My extension", ... "permissions": [ "activeTab" ], ... }
उपयोग के उदाहरण
यहां दिए गए सेक्शन में, इस्तेमाल के कुछ सामान्य उदाहरण दिए गए हैं.
किसी एक्सटेंशन के पेज को नए टैब में खोलना
एक्सटेंशन इंस्टॉल होने पर, एक्सटेंशन के लिए सामान्य पैटर्न यह होता है कि वह नए टैब में ऑनबोर्डिंग पेज खोलता है. नीचे दिए गए उदाहरण में, ऐसा करने का तरीका बताया गया है.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
मौजूदा टैब की जानकारी पाना
इस उदाहरण में बताया गया है कि एक्सटेंशन का सर्विस वर्कर, फ़िलहाल फ़ोकस की गई विंडो (या अगर किसी Chrome विंडो पर फ़ोकस नहीं किया गया है, तो हाल ही में फ़ोकस की गई विंडो) से ऐक्टिव टैब को कैसे वापस पा सकता है. इसे आम तौर पर, उपयोगकर्ता के मौजूदा टैब के तौर पर देखा जा सकता है.
async function getCurrentTab() {
let queryOptions = { active: true, lastFocusedWindow: true };
// `tab` will either be a `tabs.Tab` instance or `undefined`.
let [tab] = await chrome.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
chrome.tabs.query(queryOptions, ([tab]) => {
if (chrome.runtime.lastError)
console.error(chrome.runtime.lastError);
// `tab` will either be a `tabs.Tab` instance or `undefined`.
callback(tab);
});
}
चुने गए टैब को म्यूट करें
इस उदाहरण में दिखाया गया है कि कोई एक्सटेंशन, किसी टैब के लिए आवाज़ बंद करने की सुविधा को कैसे टॉगल कर सकता है.
async function toggleMuteState(tabId) {
const tab = await chrome.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
chrome.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
इस पर क्लिक करने पर, मौजूदा टैब को पहली पोज़िशन पर ले जाएं
इस उदाहरण में दिखाया गया है कि ड्रैग करने की प्रोसेस के दौरान, टैब को कैसे ट्रांसफ़र किया जाता है. इस उदाहरण में chrome.tabs.move
का इस्तेमाल किया गया है. हालांकि, ड्रैग करने की प्रोसेस के दौरान टैब में बदलाव करने वाले अन्य कॉल के लिए भी, इंतज़ार करने के इसी पैटर्न का इस्तेमाल किया जा सकता है.
chrome.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await chrome.tabs.move(activeInfo.tabId, {index: 0});
console.log("Success.");
} catch (error) {
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPosition(activeInfo), 50);
} else {
console.error(error);
}
}
}
chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (chrome.runtime.lastError) {
const error = chrome.runtime.lastError;
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
} else {
console.error(error);
}
} else {
console.log("Success.");
}
});
}
चुने गए टैब की कॉन्टेंट स्क्रिप्ट को मैसेज पास करना
इस उदाहरण में दिखाया गया है कि एक्सटेंशन का सर्विस वर्कर, tabs.sendMessage()
का इस्तेमाल करके ब्राउज़र के कुछ टैब में मौजूद कॉन्टेंट स्क्रिप्ट से कैसे कम्यूनिकेट कर सकता है.
function sendMessageToActiveTab(message) {
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
const response = await chrome.tabs.sendMessage(tab.id, message);
// TODO: Do something with the response.
}
एक्सटेंशन के उदाहरण
Tabs API एक्सटेंशन के अन्य डेमो देखने के लिए, इनमें से कोई भी विकल्प चुनें:
टाइप
MutedInfo
टैब के म्यूट होने की स्थिति और पिछली बार स्थिति में बदलाव होने की वजह.
प्रॉपर्टी
-
extensionId
string ज़रूरी नहीं है
उस एक्सटेंशन का आईडी जिसने म्यूट किए गए स्टेटस को बदला है. अगर एक्सटेंशन की वजह से, म्यूट किए गए विज्ञापन की स्थिति में आखिरी बार बदलाव नहीं हुआ था, तो यह पैरामीटर सेट नहीं होता.
-
म्यूट किया गया
बूलियन
क्या टैब म्यूट किया गया है (आवाज़ चलाने से रोका गया है). ऐसा हो सकता है कि टैब म्यूट हो, भले ही उसमें आवाज़ न आ रही हो या फ़िलहाल आवाज़ न चल रही हो. यह इस बात के बराबर है कि ऑडियो इंडिकेटर 'म्यूट किया गया' दिख रहा है या नहीं.
-
वजह
MutedInfoReason optional
टैब को म्यूट या अनम्यूट करने की वजह. अगर टैब को म्यूट करने की स्थिति में कभी नहीं बदला गया है, तो यह कुकी सेट नहीं की जाती.
MutedInfoReason
वह इवेंट जिसकी वजह से म्यूट किए गए स्टेटस में बदलाव हुआ.
Enum
"user"
उपयोगकर्ता के इनपुट की वजह से, वीडियो म्यूट हो गया.
"capture"
टैब कैप्चर करना शुरू कर दिया गया है. इससे, म्यूट किए गए टैब की स्थिति में बदलाव हुआ है.
"extension"
extensionId फ़ील्ड से पहचाने गए एक्सटेंशन ने म्यूट की स्थिति सेट की है.
Tab
प्रॉपर्टी
-
सक्रिय
बूलियन
इससे पता चलता है कि टैब, विंडो में ऐक्टिव है या नहीं. इसका यह मतलब नहीं है कि विंडो फ़ोकस की गई है.
-
Audible
बूलियन ज़रूरी नहीं है
Chrome 45 या इसके बाद के वर्शनक्या टैब से पिछले कुछ सेकंड में आवाज़ आई है. हालांकि, अगर टैब म्यूट है, तो आवाज़ नहीं सुनाई देगी. यह इस बात के बराबर है कि 'स्पीकर का ऑडियो' इंडिकेटर दिख रहा है या नहीं.
-
autoDiscardable
बूलियन
Chrome 54 या इसके बाद का वर्शनक्या संसाधन कम होने पर, ब्राउज़र टैब को अपने-आप बंद कर सकता है.
-
खारिज किया गया
बूलियन
Chrome 54 या इसके बाद का वर्शनटैब को खारिज किया गया है या नहीं. डिस्कर्ड किए गए टैब का मतलब ऐसे टैब से है जिसका कॉन्टेंट मेमोरी से अनलोड कर दिया गया है, लेकिन वह अब भी टैब स्ट्रिप में दिखता है. अगली बार चालू होने पर, इसका कॉन्टेंट फिर से लोड हो जाता है.
-
favIconUrl
string ज़रूरी नहीं है
टैब के फ़ेविकॉन का यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास
"tabs"
अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों. टैब के लोड होने पर, यह एक खाली स्ट्रिंग भी हो सकती है. -
फ़्रीज़ किया गया
बूलियन
Chrome 132 या इसके बाद के वर्शनटैब फ़्रीज़ किया गया है या नहीं. फ़्रीज़ किया गया टैब, इवेंट हैंडलर या टाइमर जैसे टास्क पूरे नहीं कर सकता. यह टैब स्ट्रिप में दिखता है और इसका कॉन्टेंट मेमोरी में लोड होता है. चालू करने पर, यह अनफ़्रीज़ हो जाता है.
-
groupId
संख्या
Chrome 88 या इसके बाद का वर्शनउस ग्रुप का आईडी जिससे टैब जुड़ा है.
-
ऊंचाई
number ज़रूरी नहीं
पिक्सल में टैब की ऊंचाई.
-
हाइलाइट की गई
बूलियन
इससे पता चलता है कि टैब हाइलाइट किया गया है या नहीं.
-
आईडी
number ज़रूरी नहीं
टैब का आईडी. टैब आईडी, ब्राउज़र सेशन में यूनीक होते हैं. कुछ मामलों में, टैब को आईडी असाइन नहीं किया जा सकता. उदाहरण के लिए,
sessions
एपीआई का इस्तेमाल करके, बाहरी टैब के बारे में क्वेरी करते समय. ऐसे मामले में, सेशन आईडी मौजूद हो सकता है. ऐप्लिकेशन और DevTools विंडो के लिए, टैब आईडी कोchrome.tabs.TAB_ID_NONE
पर भी सेट किया जा सकता है. -
गुप्त
बूलियन
यह टैब किसी गुप्त विंडो में है या नहीं.
-
इंडेक्स
संख्या
यह टैब की विंडो में मौजूद टैब का ज़ीरो-आधारित इंडेक्स होता है.
-
lastAccessed
संख्या
Chrome 121 या इसके बाद के वर्शनयह टैब पिछली बार अपनी विंडो में कब ऐक्टिव हुआ था. यह जानकारी, epoch के बाद से मिलीसेकंड की संख्या के तौर पर दी जाती है.
-
mutedInfo
MutedInfo optional
Chrome 46 या इसके बाद का वर्शनटैब के म्यूट होने की स्थिति और पिछली बार स्थिति में बदलाव होने की वजह.
-
openerTabId
number ज़रूरी नहीं
इस टैब को खोलने वाले टैब का आईडी. अगर कोई आईडी मौजूद है, तो यह आईडी दिखेगा. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब ओपनर टैब अब भी मौजूद हो.
-
pendingUrl
string ज़रूरी नहीं है
Chrome 79 या इसके बाद का वर्शनवह यूआरएल जिस पर टैब नेविगेट कर रहा है. हालांकि, यह तब तक नहीं होता, जब तक टैब नेविगेट करने की प्रोसेस पूरी नहीं हो जाती. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास
"tabs"
अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों और कोई नेविगेशन लंबित हो. -
पिन किया गया
बूलियन
इससे पता चलता है कि टैब पिन किया गया है या नहीं.
-
चुना गया
बूलियन
अब सेवा में नहीं हैकृपया
tabs.Tab.highlighted
का इस्तेमाल करें.टैब चुना गया है या नहीं.
-
sessionId
string ज़रूरी नहीं है
इस सेशन आईडी का इस्तेमाल,
sessions
एपीआई से मिले टैब की पहचान करने के लिए किया जाता है. -
स्थिति
TabStatus ज़रूरी नहीं है
टैब के लोड होने की स्थिति.
-
title
string ज़रूरी नहीं है
टैब का टाइटल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास
"tabs"
अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों. -
url
string ज़रूरी नहीं है
टैब के मुख्य फ़्रेम का आखिरी बार सबमिट किया गया यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के पास
"tabs"
अनुमति हो या उसके पास पेज के लिए होस्ट अनुमतियां हों. अगर टैब ने अब तक कमिट नहीं किया है, तो यह एक खाली स्ट्रिंग हो सकती है.Tab.pendingUrl
भी देखें. -
चौड़ाई
number ज़रूरी नहीं
पिक्सल में टैब की चौड़ाई.
-
windowId
संख्या
उस विंडो का आईडी जिसमें टैब मौजूद है.
TabStatus
टैब के लोड होने की स्थिति.
Enum
"unloaded"
"loading"
"complete"
WindowType
विंडो किस तरह की है.
Enum
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
इससे यह तय होता है कि किसी टैब में ज़ूम के बदलावों को कैसे हैंडल किया जाता है और किस स्कोप में.
प्रॉपर्टी
-
defaultZoomFactor
number ज़रूरी नहीं
Chrome 43 या इसके बाद के वर्शनइस कुकी का इस्तेमाल, tabs.getZoomSettings को कॉल करने पर, मौजूदा टैब के लिए डिफ़ॉल्ट ज़ूम लेवल को वापस लाने के लिए किया जाता है.
-
मोड
ZoomSettingsMode optional
इससे यह तय होता है कि ज़ूम के बदलावों को कैसे मैनेज किया जाता है.इसका मतलब है कि पेज के साइज़ को असल में बदलने के लिए कौनसी इकाई ज़िम्मेदार है. इसकी डिफ़ॉल्ट वैल्यू
automatic
होती है. -
दायरा
ZoomSettingsScope optional
इससे यह तय होता है कि ज़ूम के बदलाव, पेज के ऑरिजिन के लिए बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे.
automatic
मोड में होने पर, इसकी डिफ़ॉल्ट वैल्यूper-origin
होती है. वहीं, अन्य मोड में इसकी डिफ़ॉल्ट वैल्यूper-tab
होती है.
ZoomSettingsMode
इससे यह तय होता है कि ज़ूम के बदलावों को कैसे मैनेज किया जाता है.इसका मतलब है कि पेज के साइज़ को असल में बदलने के लिए कौनसी इकाई ज़िम्मेदार है. इसकी डिफ़ॉल्ट वैल्यू automatic
होती है.
Enum
"automatic"
ज़ूम के बदलावों को ब्राउज़र अपने-आप मैनेज करता है.
"मैन्युअल"
ज़ूम के बदलावों को अपने-आप मैनेज करने की सुविधा को बंद कर देता है. onZoomChange
इवेंट अब भी भेजा जाएगा. इस इवेंट को सुनने और पेज को मैन्युअल तरीके से स्केल करने की ज़िम्मेदारी एक्सटेंशन की होगी. इस मोड में, per-origin
ज़ूम करने की सुविधा काम नहीं करती. इसलिए, यह scope
ज़ूम सेटिंग को अनदेखा करता है और per-tab
को डिफ़ॉल्ट सेटिंग के तौर पर इस्तेमाल करता है.
"disabled"
इस विकल्प को चुनने पर, टैब में ज़ूम करने की सुविधा बंद हो जाती है. टैब, ज़ूम के डिफ़ॉल्ट लेवल पर वापस आ जाता है. साथ ही, ज़ूम के लेवल में किए गए सभी बदलावों को अनदेखा कर दिया जाता है.
ZoomSettingsScope
इससे यह तय होता है कि ज़ूम के बदलाव, पेज के ऑरिजिन के लिए बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे. automatic
मोड में होने पर, इसकी डिफ़ॉल्ट वैल्यू per-origin
होती है. वहीं, अन्य मोड में इसकी डिफ़ॉल्ट वैल्यू per-tab
होती है.
Enum
"per-origin"
ज़ूम किए गए पेज के ओरिजिन में ज़ूम के बदलाव बने रहते हैं. इसका मतलब है कि उस ओरिजिन पर नेविगेट किए गए अन्य सभी टैब भी ज़ूम किए जाते हैं. इसके अलावा, per-origin
ज़ूम के बदलावों को ओरिजिन के साथ सेव किया जाता है. इसका मतलब है कि एक ही ओरिजिन के अन्य पेजों पर नेविगेट करते समय, वे सभी एक ही ज़ूम फ़ैक्टर पर ज़ूम किए जाते हैं. per-origin
स्कोप सिर्फ़ automatic
मोड में उपलब्ध है.
"per-tab"
ज़ूम लेवल में किए गए बदलाव सिर्फ़ इस टैब पर लागू होते हैं. साथ ही, दूसरे टैब के ज़ूम लेवल में किए गए बदलावों का असर इस टैब के ज़ूम लेवल पर नहीं पड़ता. इसके अलावा, per-tab
नेविगेशन पर ज़ूम के बदलाव रीसेट हो जाते हैं; किसी टैब पर नेविगेट करने से, पेज हमेशा अपने per-origin
ज़ूम फ़ैक्टर के साथ लोड होते हैं.
प्रॉपर्टी
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
captureVisibleTab
को हर सेकंड में ज़्यादा से ज़्यादा कितनी बार कॉल किया जा सकता है. captureVisibleTab
महंगा है और इसे बार-बार कॉल नहीं किया जाना चाहिए.
मान
2
TAB_ID_NONE
यह आईडी, ब्राउज़र टैब के मौजूद न होने की जानकारी देता है.
मान
-1
TAB_INDEX_NONE
यह इंडेक्स, tab_strip में टैब इंडेक्स के मौजूद न होने की जानकारी देता है.
मान
-1
तरीके
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
यह कुकी, चुनी गई विंडो में मौजूद मौजूदा टैब के दिखने वाले हिस्से को कैप्चर करती है. इस तरीके को कॉल करने के लिए, एक्सटेंशन के पास <all_urls> अनुमति या activeTab अनुमति होनी चाहिए. आम तौर पर, एक्सटेंशन जिन साइटों को ऐक्सेस कर सकते हैं उनके अलावा, इस तरीके से एक्सटेंशन उन संवेदनशील साइटों को भी कैप्चर कर सकते हैं जिन पर आम तौर पर पाबंदी होती है. इनमें chrome:-स्कीम वाले पेज, अन्य एक्सटेंशन के पेज, और data: यूआरएल शामिल हैं. इन संवेदनशील साइटों को सिर्फ़ activeTab अनुमति के साथ कैप्चर किया जा सकता है. फ़ाइल के यूआरएल सिर्फ़ तब कैप्चर किए जा सकते हैं, जब एक्सटेंशन को फ़ाइल का ऐक्सेस दिया गया हो.
पैरामीटर
-
windowId
number ज़रूरी नहीं
टारगेट विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.
-
विकल्प
ImageDetails optional
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(dataUrl: string) => void
-
dataUrl
स्ट्रिंग
यह एक डेटा यूआरएल है. यह कैप्चर किए गए टैब के दिखने वाले हिस्से की इमेज को एन्कोड करता है. इसे दिखाने के लिए, एचटीएमएल
img
एलिमेंट की 'src' प्रॉपर्टी को असाइन किया जा सकता है.
-
रिटर्न
-
Promise<string>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
यह कुकी, चुने गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट से कनेक्ट होती है. runtime.onConnect
इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है. ज़्यादा जानकारी के लिए, कॉन्टेंट स्क्रिप्ट मैसेजिंग देखें.
पैरामीटर
-
tabId
संख्या
-
connectInfo
object ज़रूरी नहीं है
-
documentId
string ज़रूरी नहीं है
Chrome 106 और इसके बाद के वर्शनटैब में मौजूद सभी फ़्रेम के बजाय,
documentId
से पहचाने गए किसी खास दस्तावेज़ के लिए पोर्ट खोलता है. -
frameId
number ज़रूरी नहीं
टैब में मौजूद सभी फ़्रेम के बजाय,
frameId
से पहचाने गए किसी खास फ़्रेम के लिए पोर्ट खोलें. -
नाम
string ज़रूरी नहीं है
इसे onConnect में पास किया जाता है. यह उन कॉन्टेंट स्क्रिप्ट के लिए होता है जो कनेक्शन इवेंट को सुन रही हैं.
-
रिटर्न
-
यह एक ऐसा पोर्ट है जिसका इस्तेमाल, तय किए गए टैब में चल रही कॉन्टेंट स्क्रिप्ट से कम्यूनिकेट करने के लिए किया जा सकता है. अगर टैब बंद हो जाता है या मौजूद नहीं होता है, तो पोर्ट का
runtime.Port
इवेंट ट्रिगर होता है.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
इससे एक नया टैब खुलता है.
पैरामीटर
-
createProperties
ऑब्जेक्ट
-
सक्रिय
बूलियन ज़रूरी नहीं है
टैब को विंडो में ऐक्टिव टैब के तौर पर सेट किया जाना चाहिए या नहीं. इससे इस बात पर कोई असर नहीं पड़ता कि विंडो फ़ोकस की गई है या नहीं (
windows.update
देखें). डिफ़ॉल्ट रूप से इसकी वैल्यूtrue
होती है. -
इंडेक्स
number ज़रूरी नहीं
विंडो में टैब की पोज़िशन. दी गई वैल्यू को, विंडो में मौजूद टैब की संख्या और शून्य के बीच रखा जाता है.
-
openerTabId
number ज़रूरी नहीं
इस टैब को खोलने वाले टैब का आईडी. अगर ऐसा तय किया गया है, तो ओपनर टैब उसी विंडो में होना चाहिए जिसमें नया टैब बनाया गया है.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब को पिन किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से
false
पर सेट होता है -
चुना गया
बूलियन ज़रूरी नहीं है
अब सेवा में नहीं हैकृपया चालू है का इस्तेमाल करें.
क्या टैब को विंडो में चुना गया टैब बनाना चाहिए. डिफ़ॉल्ट रूप से
true
पर सेट होता है -
url
string ज़रूरी नहीं है
वह यूआरएल जिस पर टैब को शुरू में नेविगेट करना है. पूरी तरह से क्वालिफ़ाइड यूआरएल में कोई स्कीम शामिल होनी चाहिए. जैसे, 'http://www.google.com' होना चाहिए, न कि 'www.google.com'). रिलेटिव यूआरएल, एक्सटेंशन में मौजूद मौजूदा पेज के हिसाब से होते हैं. डिफ़ॉल्ट रूप से, यह New Tab Page पर सेट होता है.
-
windowId
number ज़रूरी नहीं
वह विंडो जिसमें नया टैब बनाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tab: Tab) => void
-
टैब
बनाया गया टैब.
-
रिटर्न
-
Promise<Tab>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
यह कुकी, किसी टैब में मौजूद कॉन्टेंट की मुख्य भाषा का पता लगाती है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
यह मौजूदा विंडो के चालू टैब पर डिफ़ॉल्ट रूप से सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(language: string) => void
-
भाषा
स्ट्रिंग
आईएसओ भाषा कोड, जैसे कि
en
याfr
. इस तरीके के साथ काम करने वाली भाषाओं की पूरी सूची के लिए, kLanguageInfoTable देखें. दूसरे से चौथे कॉलम की जांच की जाती है और पहली ऐसी वैल्यू दिखाई जाती है जो शून्य नहीं है. हालांकि, सरलीकृत चीनी के लिएzh-CN
दिखाया जाता है. अगर भाषा की जानकारी नहीं है, तोund
वैल्यू मिलती है.
-
रिटर्न
-
Promise<string>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
यह कुकी, मेमोरी से किसी टैब को हटा देती है. हटाए गए टैब अब भी टैब स्ट्रिप पर दिखते हैं. इन्हें चालू करने पर फिर से लोड किया जाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
हटाए जाने वाले टैब का आईडी. अगर यह विकल्प चुना जाता है, तो टैब को बंद कर दिया जाता है. हालांकि, ऐसा तब नहीं होता, जब टैब ऐक्टिव हो या पहले से बंद हो. अगर इसे शामिल नहीं किया जाता है, तो ब्राउज़र सबसे कम ज़रूरी टैब को खारिज कर देता है. अगर खारिज किए जा सकने वाले कोई टैब मौजूद नहीं हैं, तो यह अनुरोध पूरा नहीं किया जा सकता.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tab?: Tab) => void
-
टैब
टैब ज़रूरी नहीं है
अगर टैब को खारिज कर दिया गया है, तो खारिज किया गया टैब; अगर ऐसा नहीं हुआ है, तो undefined.
-
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
यह किसी टैब का डुप्लीकेट बनाता है.
पैरामीटर
-
tabId
संख्या
उस टैब का आईडी जिसका डुप्लीकेट बनाना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tab?: Tab) => void
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
इस फ़ंक्शन का इस्तेमाल, चुने गए टैब के बारे में जानकारी पाने के लिए किया जाता है.
पैरामीटर
-
tabId
संख्या
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tab: Tab) => void
-
टैब
-
रिटर्न
-
Promise<Tab>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
उस टैब को दिखाता है जिससे यह स्क्रिप्ट कॉल किया जा रहा है. अगर इसे टैब के अलावा किसी अन्य कॉन्टेक्स्ट (जैसे, बैकग्राउंड पेज या पॉप-अप व्यू) से कॉल किया जाता है, तो यह undefined
दिखाता है.
पैरामीटर
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
किसी टैब का मौजूदा ज़ूम फ़ैक्टर पता चलता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिससे मौजूदा ज़ूम फ़ैक्टर पाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के ऐक्टिव टैब पर सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(zoomFactor: number) => void
-
zoomFactor
संख्या
टैब का मौजूदा ज़ूम लेवल.
-
रिटर्न
-
Promise<number>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
यह फ़ंक्शन, किसी टैब की मौजूदा ज़ूम सेटिंग को दिखाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
यह उस टैब का आईडी होता है जिससे ज़ूम की मौजूदा सेटिंग मिलती हैं. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो का ऐक्टिव टैब होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(zoomSettings: ZoomSettings) => void
-
zoomSettings
टैब की ज़ूम करने की मौजूदा सेटिंग.
-
रिटर्न
-
Promise<ZoomSettings>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
अगर कोई पिछला पेज उपलब्ध है, तो उस पर वापस जाएं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
यह उस टैब का आईडी होता है जिस पर वापस जाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो का चुना गया टैब होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
अगर कोई अगला पेज उपलब्ध है, तो उस पर जाएं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
आगे बढ़ने के लिए टैब का आईडी; डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चुने गए टैब पर सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
यह कमांड, एक या उससे ज़्यादा टैब को किसी ग्रुप में जोड़ती है. अगर कोई ग्रुप नहीं चुना जाता है, तो यह कमांड दिए गए टैब को नए ग्रुप में जोड़ती है.
पैरामीटर
-
विकल्प
ऑब्जेक्ट
-
createProperties
object ज़रूरी नहीं है
ग्रुप बनाने के लिए कॉन्फ़िगरेशन. अगर groupId पहले से तय है, तो इसका इस्तेमाल नहीं किया जा सकता.
-
windowId
number ज़रूरी नहीं
नए ग्रुप की विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होता है.
-
-
groupId
number ज़रूरी नहीं
उस ग्रुप का आईडी जिसमें टैब जोड़ने हैं. अगर कोई ग्रुप नहीं चुना जाता है, तो एक नया ग्रुप बनाया जाएगा.
-
tabIds
number | [number, ...number[]]
ग्रुप में जोड़ने के लिए टैब आईडी या टैब आईडी की सूची.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(groupId: number) => void
-
groupId
संख्या
उस ग्रुप का आईडी जिसमें टैब जोड़े गए थे.
-
रिटर्न
-
Promise<number>
Manifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
इससे दिए गए टैब हाइलाइट होते हैं और ग्रुप के पहले टैब पर फ़ोकस किया जाता है. अगर तय किया गया टैब फ़िलहाल चालू है, तो यह विकल्प काम नहीं करेगा.
पैरामीटर
-
highlightInfo
ऑब्जेक्ट
-
टैब
number | number[]
हाइलाइट करने के लिए एक या उससे ज़्यादा टैब इंडेक्स.
-
windowId
number ज़रूरी नहीं
वह विंडो जिसमें टैब मौजूद हैं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(window: Window) => void
-
विंडो
इसमें उस विंडो के बारे में जानकारी होती है जिसके टैब हाइलाइट किए गए थे.
-
रिटर्न
-
Promise<windows.Window>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
इस कुकी का इस्तेमाल एक या उससे ज़्यादा टैब को उसकी विंडो में नई जगह पर ले जाने या नई विंडो में ले जाने के लिए किया जाता है. ध्यान दें कि टैब को सिर्फ़ सामान्य (window.type === "normal") विंडो में ले जाया जा सकता है.
पैरामीटर
-
tabIds
number | number[]
जिस टैब को दूसरी जगह ले जाना है उसका आईडी या टैब आईडी की सूची.
-
moveProperties
ऑब्जेक्ट
-
इंडेक्स
संख्या
विंडो को ले जाने की जगह. विंडो के आखिर में टैब रखने के लिए,
-1
का इस्तेमाल करें. -
windowId
number ज़रूरी नहीं
डिफ़ॉल्ट रूप से, यह उस विंडो पर सेट होता है जिसमें टैब मौजूद है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tabs: Tab | Tab[]) => void
रिटर्न
-
Chrome 88 या इसके बाद का वर्शन
Manifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
यह उन सभी टैब को दिखाता है जिनमें बताई गई प्रॉपर्टी मौजूद हैं. अगर कोई प्रॉपर्टी नहीं बताई गई है, तो यह सभी टैब दिखाता है.
पैरामीटर
-
queryInfo
ऑब्जेक्ट
-
सक्रिय
बूलियन ज़रूरी नहीं है
टैब अपनी विंडो में ऐक्टिव हैं या नहीं.
-
Audible
बूलियन ज़रूरी नहीं है
Chrome 45 या इसके बाद के वर्शनटैब में आवाज़ आ रही है या नहीं.
-
autoDiscardable
बूलियन ज़रूरी नहीं है
Chrome 54 या इसके बाद का वर्शनक्या ब्राउज़र, संसाधनों के कम होने पर टैब को अपने-आप बंद कर सकता है.
-
currentWindow
बूलियन ज़रूरी नहीं है
टैब, मौजूदा विंडो में हैं या नहीं.
-
खारिज किया गया
बूलियन ज़रूरी नहीं है
Chrome 54 या इसके बाद का वर्शनक्या टैब खारिज किए गए हैं. डिस्कर्ड किए गए टैब का मतलब ऐसे टैब से है जिसका कॉन्टेंट मेमोरी से अनलोड कर दिया गया है, लेकिन वह अब भी टैब स्ट्रिप में दिखता है. अगली बार चालू होने पर, इसका कॉन्टेंट फिर से लोड हो जाता है.
-
फ़्रीज़ किया गया
बूलियन ज़रूरी नहीं है
Chrome 132 या इसके बाद के वर्शनटैब फ़्रीज़ किए गए हैं या नहीं. फ़्रीज़ किया गया टैब, इवेंट हैंडलर या टाइमर जैसे टास्क पूरे नहीं कर सकता. यह टैब स्ट्रिप में दिखता है और इसका कॉन्टेंट मेमोरी में लोड होता है. चालू करने पर, यह अनफ़्रीज़ हो जाता है.
-
groupId
number ज़रूरी नहीं
Chrome 88 या इसके बाद का वर्शनटैब जिस ग्रुप में हैं उसका आईडी या बिना ग्रुप वाले टैब के लिए
tabGroups.TAB_GROUP_ID_NONE
. -
हाइलाइट की गई
बूलियन ज़रूरी नहीं है
टैब हाइलाइट किए गए हैं या नहीं.
-
इंडेक्स
number ज़रूरी नहीं
विंडो में टैब की पोज़िशन.
-
lastFocusedWindow
बूलियन ज़रूरी नहीं है
इससे पता चलता है कि टैब, आखिरी बार फ़ोकस की गई विंडो में हैं या नहीं.
-
म्यूट किया गया
बूलियन ज़रूरी नहीं है
Chrome 45 या इसके बाद के वर्शनक्या टैब म्यूट किए गए हैं.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब पिन किए गए हैं या नहीं.
-
splitViewId
number ज़रूरी नहीं
मंज़ूरी बाकी हैयह उस स्प्लिट व्यू का आईडी होता है जिसमें टैब मौजूद हैं. अगर टैब स्प्लिट व्यू में नहीं हैं, तो इसके लिए
tabs.SPLIT_VIEW_ID_NONE
का इस्तेमाल किया जाता है. -
स्थिति
TabStatus ज़रूरी नहीं है
टैब लोड होने की स्थिति.
-
title
string ज़रूरी नहीं है
किसी पैटर्न के हिसाब से पेज के टाइटल मैच करना. अगर एक्सटेंशन के पास
"tabs"
अनुमति या पेज के लिए होस्ट अनुमतियां नहीं हैं, तो इस प्रॉपर्टी को अनदेखा कर दिया जाता है. -
url
string | string[] ज़रूरी नहीं
टैब को एक या उससे ज़्यादा यूआरएल पैटर्न से मैच करें. फ़्रैगमेंट आइडेंटिफ़ायर मैच नहीं किए गए हैं. अगर एक्सटेंशन के पास
"tabs"
अनुमति या पेज के लिए होस्ट अनुमतियां नहीं हैं, तो इस प्रॉपर्टी को अनदेखा कर दिया जाता है. -
windowId
number ज़रूरी नहीं
पैरंट विंडो का आईडी या मौजूदा विंडो के लिए
windows.WINDOW_ID_CURRENT
. -
windowType
WindowType ज़रूरी नहीं है
टैब किस तरह की विंडो में हैं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(result: Tab[]) => void
-
नतीजा
Tab[]
-
रिटर्न
-
Promise<Tab[]>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
किसी टैब को फिर से लोड करें.
पैरामीटर
-
tabId
number ज़रूरी नहीं
यह उस टैब का आईडी होता है जिसे फिर से लोड करना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो का चुना गया टैब होता है.
-
reloadProperties
object ज़रूरी नहीं है
-
bypassCache
बूलियन ज़रूरी नहीं है
स्थानीय कैश मेमोरी को बायपास करना है या नहीं. डिफ़ॉल्ट रूप से, यह
false
पर सेट होती है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
इससे एक या उससे ज़्यादा टैब बंद हो जाते हैं.
पैरामीटर
-
tabIds
number | number[]
बंद किए जाने वाले टैब का आईडी या टैब आईडी की सूची.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
यह फ़ंक्शन, तय किए गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट को एक मैसेज भेजता है. साथ ही, इसमें एक वैकल्पिक कॉलबैक फ़ंक्शन होता है, जिसे जवाब मिलने पर चलाया जाता है. runtime.onMessage
इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है.
पैरामीटर
-
tabId
संख्या
-
मैसेज
कोई
भेजा जाने वाला मैसेज. यह मैसेज, JSON में बदलने लायक ऑब्जेक्ट होना चाहिए.
-
विकल्प
object ज़रूरी नहीं है
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 या इसके बाद का वर्शनcallback
पैरामीटर ऐसा दिखता है:(response: any) => void
-
जवाब
कोई
मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर तय किए गए टैब से कनेक्ट करते समय कोई गड़बड़ी होती है, तो बिना किसी आर्ग्युमेंट के कॉलबैक को कॉल किया जाता है. साथ ही,
runtime.lastError
को गड़बड़ी के मैसेज पर सेट किया जाता है.
-
रिटर्न
-
Promise<any>
Chrome 99 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
इससे किसी टैब को ज़ूम किया जाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
ज़ूम करने के लिए टैब का आईडी; डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के ऐक्टिव टैब पर सेट होता है.
-
zoomFactor
संख्या
ज़ूम लेवल का नया फ़ैक्टर.
0
वैल्यू, टैब को उसके मौजूदा डिफ़ॉल्ट ज़ूम फ़ैक्टर पर सेट करती है.0
से ज़्यादा वैल्यू, टैब के लिए ज़ूम फ़ैक्टर (ऐसा हो सकता है कि यह डिफ़ॉल्ट न हो) तय करती हैं. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
यह कुकी, किसी टैब के लिए ज़ूम करने की सेटिंग सेट करती है. इससे यह तय होता है कि ज़ूम के बदलावों को कैसे मैनेज किया जाए. टैब पर नेविगेट करने पर, ये सेटिंग डिफ़ॉल्ट पर रीसेट हो जाती हैं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
ज़ूम सेटिंग बदलने के लिए टैब का आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के ऐक्टिव टैब पर सेट होता है.
-
zoomSettings
इससे यह तय होता है कि ज़ूम के लेवल में होने वाले बदलावों को कैसे हैंडल किया जाता है और किस स्कोप में.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
इससे एक या उससे ज़्यादा टैब, उनके ग्रुप से हट जाते हैं. अगर कोई ग्रुप खाली हो जाता है, तो उसे मिटा दिया जाता है.
पैरामीटर
-
tabIds
number | [number, ...number[]]
टैब आईडी या उन टैब आईडी की सूची जिन्हें उनके ग्रुप से हटाना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Manifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
इस तरीके का इस्तेमाल करके, किसी टैब की प्रॉपर्टी में बदलाव किया जा सकता है. updateProperties
में नहीं बताई गई प्रॉपर्टी में बदलाव नहीं किया जाता.
पैरामीटर
-
tabId
number ज़रूरी नहीं
डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चुने गए टैब पर सेट होता है.
-
updateProperties
ऑब्जेक्ट
-
सक्रिय
बूलियन ज़रूरी नहीं है
टैब चालू होना चाहिए या नहीं. इससे इस बात पर कोई असर नहीं पड़ता कि विंडो फ़ोकस की गई है या नहीं (
windows.update
देखें). -
autoDiscardable
बूलियन ज़रूरी नहीं है
Chrome 54 या इसके बाद का वर्शनक्या संसाधन कम होने पर, ब्राउज़र को टैब अपने-आप बंद कर देना चाहिए.
-
हाइलाइट की गई
बूलियन ज़रूरी नहीं है
इससे टैब को मौजूदा चुने गए टैब में जोड़ा या हटाया जाता है.
-
म्यूट किया गया
बूलियन ज़रूरी नहीं है
Chrome 45 या इसके बाद के वर्शनटैब को म्यूट किया जाना चाहिए या नहीं.
-
openerTabId
number ज़रूरी नहीं
इस टैब को खोलने वाले टैब का आईडी. अगर बताया गया है, तो ओपनर टैब उसी विंडो में होना चाहिए जिसमें यह टैब है.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब को पिन किया जाना चाहिए या नहीं.
-
चुना गया
बूलियन ज़रूरी नहीं है
अब सेवा में नहीं हैकृपया हाइलाइट किए गए विकल्प का इस्तेमाल करें.
टैब चुना जाना चाहिए या नहीं.
-
url
string ज़रूरी नहीं है
वह यूआरएल जिस पर टैब को नेविगेट करना है. JavaScript यूआरएल काम नहीं करते. इसके बजाय,
scripting.executeScript
का इस्तेमाल करें.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(tab?: Tab) => void
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 या इसके बाद का वर्शनManifest V3 और इसके बाद के वर्शन में, प्रॉमिस का इस्तेमाल किया जा सकता है. हालांकि, पुराने सिस्टम के साथ काम करने की सुविधा के लिए, कॉलबैक उपलब्ध कराए जाते हैं. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. यह प्रॉमिस, उसी टाइप के साथ रिज़ॉल्व होता है जिसे कॉलबैक में पास किया जाता है.
इवेंट
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
जब किसी विंडो में ऐक्टिव टैब बदलता है, तब यह इवेंट ट्रिगर होता है. ध्यान दें कि इस इवेंट के ट्रिगर होने के समय, टैब का यूआरएल सेट नहीं किया गया हो सकता है. हालांकि, onUpdated इवेंट सुने जा सकते हैं, ताकि यूआरएल सेट होने पर आपको सूचना मिल सके.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(activeInfo: object) => void
-
activeInfo
ऑब्जेक्ट
-
tabId
संख्या
उस टैब का आईडी जो ऐक्टिव हो गया है.
-
windowId
संख्या
उस विंडो का आईडी जिसमें ऐक्टिव टैब बदला गया है.
-
-
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी टैब को किसी विंडो से अटैच किया जाता है. उदाहरण के लिए, जब उसे एक विंडो से दूसरी विंडो में ले जाया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(tabId: number, attachInfo: object) => void
-
tabId
संख्या
-
attachInfo
ऑब्जेक्ट
-
newPosition
संख्या
-
newWindowId
संख्या
-
-
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब कोई टैब बनाया जाता है. ध्यान दें कि इस इवेंट के ट्रिगर होने के समय, टैब का यूआरएल और टैब ग्रुप की सदस्यता सेट नहीं की जा सकती. हालांकि, onUpdated इवेंट सुने जा सकते हैं, ताकि यूआरएल सेट होने या टैब को किसी टैब ग्रुप में जोड़े जाने पर आपको सूचना मिल सके.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
जब किसी टैब को विंडो से अलग किया जाता है, तब यह इवेंट ट्रिगर होता है. उदाहरण के लिए, जब उसे एक विंडो से दूसरी विंडो में ले जाया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(tabId: number, detachInfo: object) => void
-
tabId
संख्या
-
detachInfo
ऑब्जेक्ट
-
oldPosition
संख्या
-
oldWindowId
संख्या
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
इस इवेंट को तब ट्रिगर किया जाता है, जब किसी विंडो में हाइलाइट किए गए या चुने गए टैब में बदलाव होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(highlightInfo: object) => void
-
highlightInfo
ऑब्जेक्ट
-
tabIds
number[]
विंडो में हाइलाइट किए गए सभी टैब.
-
windowId
संख्या
वह विंडो जिसके टैब बदले गए हैं.
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी टैब को विंडो में एक जगह से दूसरी जगह ले जाया जाता है. सिर्फ़ एक मूव इवेंट ट्रिगर होता है. यह उस टैब को दिखाता है जिसे उपयोगकर्ता ने सीधे तौर पर मूव किया है. मैन्युअल तरीके से ले जाए गए टैब के जवाब में, जिन अन्य टैब को ले जाना ज़रूरी है उनके लिए, मूव इवेंट ट्रिगर नहीं होते. जब किसी टैब को एक विंडो से दूसरी विंडो में ले जाया जाता है, तब यह इवेंट ट्रिगर नहीं होता. ज़्यादा जानकारी के लिए, tabs.onDetached
देखें.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(tabId: number, moveInfo: object) => void
-
tabId
संख्या
-
moveInfo
ऑब्जेक्ट
-
fromIndex
संख्या
-
toIndex
संख्या
-
windowId
संख्या
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब कोई टैब बंद किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(tabId: number, removeInfo: object) => void
-
tabId
संख्या
-
removeInfo
ऑब्जेक्ट
-
isWindowClosing
बूलियन
जब पैरंट विंडो बंद होने की वजह से टैब बंद हो जाता है, तब यह वैल्यू true होती है.
-
windowId
संख्या
वह विंडो जिसका टैब बंद किया गया है.
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब प्रीरेंडरिंग या इंस्टैंट की वजह से किसी टैब को दूसरे टैब से बदल दिया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(addedTabId: number, removedTabId: number) => void
-
addedTabId
संख्या
-
removedTabId
संख्या
-
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब किसी टैब को अपडेट किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
संख्या
-
changeInfo
ऑब्जेक्ट
-
Audible
बूलियन ज़रूरी नहीं है
Chrome 45 या इसके बाद के वर्शनटैब की नई ऑडियो स्थिति.
-
autoDiscardable
बूलियन ज़रूरी नहीं है
Chrome 54 या इसके बाद का वर्शनटैब की नई स्थिति, जिसे अपने-आप खारिज किया जा सकता है.
-
खारिज किया गया
बूलियन ज़रूरी नहीं है
Chrome 54 या इसके बाद का वर्शनटैब की नई खारिज की गई स्थिति.
-
favIconUrl
string ज़रूरी नहीं है
टैब के नए फ़ेविकॉन का यूआरएल.
-
फ़्रीज़ किया गया
बूलियन ज़रूरी नहीं है
Chrome 132 या इसके बाद के वर्शनटैब की नई फ़्रीज़ की गई स्थिति.
-
groupId
number ज़रूरी नहीं
Chrome 88 या इसके बाद का वर्शनटैब का नया ग्रुप.
-
mutedInfo
MutedInfo optional
Chrome 46 या इसके बाद का वर्शनटैब की नई म्यूट की गई स्थिति और बदलाव की वजह.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब के पिन किए जाने की नई स्थिति.
-
splitViewId
number ज़रूरी नहीं
मंज़ूरी बाकी हैटैब का नया स्प्लिट व्यू.
-
स्थिति
TabStatus ज़रूरी नहीं है
टैब के लोड होने की स्थिति.
-
title
string ज़रूरी नहीं है
Chrome 48 या इसके बाद का वर्शनटैब का नया टाइटल.
-
url
string ज़रूरी नहीं है
अगर टैब का यूआरएल बदल गया है, तो उसका यूआरएल.
-
-
टैब
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
जब किसी टैब को ज़ूम किया जाता है, तब यह इवेंट ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
ऑब्जेक्ट
-
newZoomFactor
संख्या
-
oldZoomFactor
संख्या
-
tabId
संख्या
-
zoomSettings
-
-