ब्यौरा
ब्राउज़र के टैब सिस्टम के साथ इंटरैक्ट करने के लिए, chrome.tabs
एपीआई का इस्तेमाल करें. इस एपीआई का इस्तेमाल करके, ब्राउज़र में टैब बनाए जा सकते हैं, उनमें बदलाव किया जा सकता है, और उन्हें क्रम में लगाया जा सकता है.
खास जानकारी
Tabs API, टैब में बदलाव करने और उन्हें मैनेज करने की सुविधाएं ही नहीं देता, बल्कि टैब की भाषा का पता लगाने, स्क्रीनशॉट लेने, और टैब की कॉन्टेंट स्क्रिप्ट के साथ कम्यूनिकेट करने की सुविधा भी देता है.
अनुमतियां
ज़्यादातर सुविधाओं का इस्तेमाल करने के लिए, अनुमति लेना ज़रूरी नहीं है. उदाहरण के लिए: नया टैब बनाना, किसी टैब को फिर से लोड करना, किसी दूसरे यूआरएल पर जाना वगैरह.
Tabs API का इस्तेमाल करते समय, डेवलपर को तीन अनुमतियों के बारे में पता होना चाहिए.
- "टैब" की अनुमति
- इस अनुमति से,
chrome.tabs
नेमस्पेस को ऐक्सेस नहीं किया जा सकता. इसके बजाय, यह एक्सटेंशन,tabs.Tab
इंस्टेंस पर चार संवेदनशील प्रॉपर्टी के लिएtabs.query()
को कॉल करने की अनुमति देता है:url
,pendingUrl
,title
, औरfavIconUrl
. - होस्ट की अनुमतियां
- होस्ट की अनुमतियां, किसी एक्सटेंशन को मैच करने वाले टैब की चार संवेदनशील
tabs.Tab
प्रॉपर्टी को पढ़ने और उनसे क्वेरी करने की अनुमति देती हैं. वेtabs.captureVisibleTab()
,tabs.executeScript()
,tabs.insertCSS()
, औरtabs.removeCSS()
जैसे तरीकों का इस्तेमाल करके, मैच होने वाले टैब के साथ सीधे तौर पर इंटरैक्ट भी कर सकते हैं. - "activeTab" अनुमति
activeTab
, उपयोगकर्ता के अनुरोध के जवाब में, मौजूदा टैब के लिए एक्सटेंशन को कुछ समय के लिए होस्ट करने की अनुमति देता है. होस्ट की अनुमतियों के उलट,activeTab
से कोई चेतावनी नहीं मिलती.
मेनिफ़ेस्ट
मेनिफ़ेस्ट में हर अनुमति का एलान करने के तरीके के उदाहरण यहां दिए गए हैं:
{
"name": "My extension",
...
"permissions": [
"tabs"
],
...
}
{
"name": "My extension",
...
"host_permissions": [
"http://*/*",
"https://*/*"
],
...
}
{
"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
स्ट्रिंग ज़रूरी नहीं है
उस एक्सटेंशन का आईडी जिसने म्यूट किए जाने की स्थिति बदली. अगर म्यूट की स्थिति में आखिरी बार बदलाव करने की वजह कोई एक्सटेंशन नहीं था, तो यह सेट नहीं किया जाता.
-
म्यूट किया गया
बूलियन
टैब को म्यूट किया गया है या नहीं (ऑडियो चलने से रोका गया है). टैब को म्यूट किया जा सकता है, भले ही उसमें कोई आवाज़ न चल रही हो या अभी चल रही हो. यह इस बात के बराबर है कि 'म्यूट किया गया' ऑडियो इंडिकेटर दिख रहा है या नहीं.
-
वजह
MutedInfoReason ज़रूरी नहीं है
टैब को म्यूट या अनम्यूट करने की वजह. अगर टैब को कभी म्यूट नहीं किया गया है, तो यह सेटिंग सेट नहीं होती.
MutedInfoReason
वह इवेंट जिसकी वजह से म्यूट की स्थिति में बदलाव हुआ.
Enum
"user"
उपयोगकर्ता के इनपुट ऐक्शन से, म्यूट की स्थिति सेट होती है.
"कैप्चर करें"
टैब कैप्चर करने की सुविधा शुरू की गई, जिससे म्यूट की स्थिति में बदलाव हुआ.
"extension"
extensionId फ़ील्ड से पहचाने जाने वाले एक्सटेंशन ने म्यूट की स्थिति सेट की.
Tab
प्रॉपर्टी
-
सक्रिय
बूलियन
टैब, अपनी विंडो में ऐक्टिव है या नहीं. इसका मतलब यह नहीं है कि विंडो पर फ़ोकस किया गया है.
-
Audible
बूलियन ज़रूरी नहीं है
Chrome 45 और उसके बाद के वर्शनपिछले कुछ सेकंड में, टैब से आवाज़ आई है या नहीं. हालांकि, अगर टैब को म्यूट किया गया है, तो हो सकता है कि आवाज़ न सुनाई दे. यह इस बात के बराबर है कि 'स्पीकर ऑडियो' इंडिकेटर दिख रहा है या नहीं.
-
autoDiscardable
बूलियन
Chrome 54 और उसके बाद के वर्शनक्या कम संसाधन होने पर, ब्राउज़र टैब को अपने-आप हटा सकता है.
-
खारिज किया गया
बूलियन
Chrome 54 और उसके बाद के वर्शनटैब को खारिज किया गया है या नहीं. हटाए गए टैब का कॉन्टेंट, मेमोरी से अनलोड कर दिया जाता है. हालांकि, वह टैब स्ट्रिप में अब भी दिखता है. अगली बार चालू करने पर, इसका कॉन्टेंट फिर से लोड हो जाता है.
-
favIconUrl
स्ट्रिंग ज़रूरी नहीं है
टैब के फ़ेविकॉन का यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के मेनिफ़ेस्ट में
"tabs"
अनुमति शामिल हो. अगर टैब लोड हो रहा है, तो यह खाली स्ट्रिंग भी हो सकती है. -
फ़्रीज़ किया गया
बूलियन
मंज़ूरी बाकी हैटैब फ़्रीज़ है या नहीं. फ़्रीज़ किया गया टैब, इवेंट हैंडलर या टाइमर जैसे टास्क नहीं कर सकता. यह टैब स्ट्रिप में दिखता है और इसका कॉन्टेंट मेमोरी में लोड होता है. इसे चालू करने पर, यह अनफ़्रीज़ हो जाता है.
-
groupId
संख्या
Chrome 88 और उसके बाद के वर्शनउस ग्रुप का आईडी जिससे टैब जुड़ा है.
-
ऊंचाई
number ज़रूरी नहीं
पिक्सल में टैब की ऊंचाई.
-
हाइलाइट की गई
बूलियन
टैब हाइलाइट किया गया है या नहीं.
-
आईडी
number ज़रूरी नहीं
टैब का आईडी. ब्राउज़र सेशन में टैब आईडी यूनीक होते हैं. कुछ मामलों में, किसी टैब को आईडी असाइन नहीं किया जा सकता. उदाहरण के लिए,
sessions
एपीआई का इस्तेमाल करके, दूसरे ब्राउज़र के टैब के बारे में क्वेरी करते समय. ऐसे में, सेशन आईडी मौजूद हो सकता है. ऐप्लिकेशन और डेवलपर टूल विंडो के लिए, टैब आईडी कोchrome.tabs.TAB_ID_NONE
पर भी सेट किया जा सकता है. -
गुप्त मोड
बूलियन
टैब, गुप्त विंडो में है या नहीं.
-
इंडेक्स
संख्या
विंडो में टैब का शून्य पर आधारित इंडेक्स.
-
lastAccessed
संख्या
Chrome 121 और उसके बाद के वर्शनटैब को आखिरी बार ऐक्सेस करने का समय, इकोसिस्टम शुरू होने के बाद से मिलीसेकंड में.
-
mutedInfo
MutedInfo ज़रूरी नहीं है
Chrome 46 और उसके बाद के वर्शनटैब के म्यूट होने की स्थिति और पिछली बार स्टेटस में बदलाव होने की वजह.
-
openerTabId
number ज़रूरी नहीं
इस टैब को खोलने वाले टैब का आईडी. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब ओपनर टैब अब भी मौजूद हो.
-
pendingUrl
स्ट्रिंग ज़रूरी नहीं है
Chrome 79 और उसके बाद के वर्शनवह यूआरएल जिस पर टैब ने नेविगेट किया है, लेकिन उस पर जाने से पहले उसे सेव नहीं किया गया है. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के मेनिफ़ेस्ट में
"tabs"
अनुमति शामिल हो और कोई नेविगेशन बाकी हो. -
पिन किया गया
बूलियन
टैब को पिन किया गया है या नहीं.
-
चुना गया
बूलियन
अब काम नहीं करताकृपया
tabs.Tab.highlighted
का इस्तेमाल करें.टैब चुना गया है या नहीं.
-
sessionId
स्ट्रिंग ज़रूरी नहीं है
sessions
एपीआई से मिले टैब की यूनीक पहचान करने के लिए इस्तेमाल किया जाने वाला सेशन आईडी. -
स्थिति
TabStatus ज़रूरी नहीं
टैब के लोड होने की स्थिति.
-
title
स्ट्रिंग ज़रूरी नहीं है
टैब का टाइटल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के मेनिफ़ेस्ट में
"tabs"
अनुमति शामिल हो. -
url
स्ट्रिंग ज़रूरी नहीं है
टैब के मुख्य फ़्रेम का पिछला कमिट किया गया यूआरएल. यह प्रॉपर्टी सिर्फ़ तब मौजूद होती है, जब एक्सटेंशन के मेनिफ़ेस्ट में
"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 ज़रूरी नहीं
इससे यह तय होता है कि ज़ूम में हुए बदलावों को कैसे मैनेज किया जाए.इसका मतलब है कि पेज को असल में स्केल करने की ज़िम्मेदारी किस इकाई की है. डिफ़ॉल्ट रूप से, यह
automatic
पर सेट होता है. -
दायरा
ZoomSettingsScope ज़रूरी नहीं
इससे यह तय होता है कि पेज के ऑरिजिन के लिए ज़ूम में हुए बदलाव बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे.
automatic
मोड में होने पर, यह डिफ़ॉल्ट रूप सेper-origin
पर सेट होता है. इसके अलावा, किसी अन्य मोड में होने पर, यहper-tab
पर सेट होता है.
ZoomSettingsMode
इससे यह तय होता है कि ज़ूम में हुए बदलावों को कैसे मैनेज किया जाए.इसका मतलब है कि पेज को असल में स्केल करने की ज़िम्मेदारी किस इकाई की है. डिफ़ॉल्ट रूप से, यह automatic
पर सेट होता है.
Enum
"अपने-आप"
ज़ूम में होने वाले बदलाव, ब्राउज़र अपने-आप मैनेज करता है.
"मैन्युअल"
ज़ूम में होने वाले बदलावों को अपने-आप मैनेज करने की सुविधा को बदल देता है. onZoomChange
इवेंट अब भी डिस्पैच किया जाएगा. साथ ही, इस इवेंट को सुनने और पेज को मैन्युअल तरीके से स्केल करने की ज़िम्मेदारी एक्सटेंशन की होगी. इस मोड में, per-origin
ज़ूम करने की सुविधा काम नहीं करती. इसलिए, scope
ज़ूम सेटिंग को अनदेखा कर दिया जाता है और per-tab
को मान लिया जाता है.
"बंद है"
इससे टैब में ज़ूम करने की सुविधा बंद हो जाती है. टैब, ज़ूम के डिफ़ॉल्ट लेवल पर वापस आ जाता है और ज़ूम में किए गए सभी बदलावों को अनदेखा कर दिया जाता है.
ZoomSettingsScope
इससे यह तय होता है कि पेज के ऑरिजिन के लिए ज़ूम में हुए बदलाव बने रहेंगे या सिर्फ़ इस टैब में लागू होंगे. automatic
मोड में होने पर, यह डिफ़ॉल्ट रूप से per-origin
पर सेट होता है. इसके अलावा, किसी अन्य मोड में होने पर, यह per-tab
पर सेट होता है.
Enum
"हर ओरिजिन के लिए"
ज़ूम किए गए पेज के ओरिजिन में ज़ूम करने से जुड़े बदलाव बने रहते हैं. इसका मतलब है कि उसी ओरिजिन पर नेविगेट किए गए सभी अन्य टैब भी ज़ूम हो जाते हैं. इसके अलावा, per-origin
ज़ूम करने से जुड़े बदलाव, ओरिजिन के साथ सेव हो जाते हैं. इसका मतलब है कि एक ही ओरिजिन के दूसरे पेजों पर जाने पर, उन सभी पेजों को एक ही ज़ूम फ़ैक्टर पर ज़ूम किया जाता है. per-origin
स्कोप सिर्फ़ automatic
मोड में उपलब्ध है.
"हर टैब के लिए"
ज़ूम करने से जुड़े बदलाव सिर्फ़ इस टैब में लागू होते हैं. साथ ही, दूसरे टैब में ज़ूम करने से, इस टैब के ज़ूम लेवल पर कोई असर नहीं पड़ता. साथ ही, 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:-scheme पेज, दूसरे एक्सटेंशन के पेज, और data: यूआरएल शामिल हैं. हालांकि, इन संवेदनशील साइटों को सिर्फ़ activeTab की अनुमति के साथ कैप्चर किया जा सकता है. फ़ाइल के यूआरएल सिर्फ़ तब कैप्चर किए जा सकते हैं, जब एक्सटेंशन को फ़ाइल का ऐक्सेस दिया गया हो.
पैरामीटर
-
windowId
number ज़रूरी नहीं
टारगेट विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होती है.
-
विकल्प
ImageDetails ज़रूरी नहीं है
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(dataUrl: string) => void
-
dataUrl
स्ट्रिंग
डेटा यूआरएल, जो कैप्चर किए गए टैब के दिखने वाले हिस्से की इमेज को कोड में बदलता है. इसे डिसप्ले के लिए, एचटीएमएल
img
एलिमेंट की 'src' प्रॉपर्टी को असाइन किया जा सकता है.
-
रिटर्न
-
Promise<string>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
यह टैब में मौजूद कॉन्टेंट स्क्रिप्ट से कनेक्ट करता है. runtime.onConnect
इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है. ज़्यादा जानकारी के लिए, कॉन्टेंट स्क्रिप्ट मैसेजिंग देखें.
पैरामीटर
-
tabId
संख्या
-
connectInfo
ऑब्जेक्ट ज़रूरी नहीं है
-
documentId
स्ट्रिंग ज़रूरी नहीं है
Chrome 106 और उसके बाद के वर्शनटैब में मौजूद सभी फ़्रेम के बजाय,
documentId
से पहचाने गए किसी खास दस्तावेज़ के लिए पोर्ट खोलें. -
frameId
number ज़रूरी नहीं
टैब में मौजूद सभी फ़्रेम के बजाय,
frameId
से पहचाने गए किसी खास फ़्रेम के लिए पोर्ट खोलें. -
नाम
स्ट्रिंग ज़रूरी नहीं है
यह उन कॉन्टेंट स्क्रिप्ट के लिए onConnect में पास किया जाता है जो कनेक्शन इवेंट को सुन रही हैं.
-
रिटर्न
-
यह एक ऐसा पोर्ट है जिसका इस्तेमाल, किसी टैब में चल रही कॉन्टेंट स्क्रिप्ट के साथ कम्यूनिकेट करने के लिए किया जा सकता है. टैब बंद होने या मौजूद न होने पर, पोर्ट का
runtime.Port
इवेंट ट्रिगर होता है.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
नया टैब बनाता है.
पैरामीटर
-
createProperties
ऑब्जेक्ट
-
सक्रिय
बूलियन ज़रूरी नहीं है
टैब को विंडो में ऐक्टिव टैब बनाना है या नहीं. इससे इस बात पर कोई असर नहीं पड़ता कि विंडो पर फ़ोकस है या नहीं (
windows.update
देखें). डिफ़ॉल्ट रूप से, यहtrue
पर सेट होती है. -
इंडेक्स
number ज़रूरी नहीं
विंडो में टैब की पोज़िशन. दी गई वैल्यू, शून्य और विंडो में मौजूद टैब की संख्या के बीच होनी चाहिए.
-
openerTabId
number ज़रूरी नहीं
इस टैब को खोलने वाले टैब का आईडी. अगर यह जानकारी दी गई है, तो ओपनर टैब और नए टैब, एक ही विंडो में होने चाहिए.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब को पिन किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से
false
पर सेट होती है -
चुना गया
बूलियन ज़रूरी नहीं है
अब काम नहीं करताकृपया active का इस्तेमाल करें.
टैब को विंडो में चुना गया टैब बनाना है या नहीं. डिफ़ॉल्ट रूप से
true
पर सेट होती है -
url
स्ट्रिंग ज़रूरी नहीं है
टैब पर शुरू में जाने के लिए यूआरएल. पूरी तरह से क्वालिफ़ाइड यूआरएल में कोई स्कीम शामिल होनी चाहिए (जैसे, 'http://www.google.com', न कि 'www.google.com'). रिलेटिव यूआरएल, एक्सटेंशन में मौजूद मौजूदा पेज से जुड़े होते हैं. डिफ़ॉल्ट रूप से, 'नया टैब' पेज पर ले जाता है.
-
windowId
number ज़रूरी नहीं
वह विंडो जिसमें नया टैब बनाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होती है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab: Tab) => void
-
टैब
बनाया गया टैब.
-
रिटर्न
-
Promise<Tab>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
किसी टैब में मौजूद कॉन्टेंट की मुख्य भाषा का पता लगाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
डिफ़ॉल्ट रूप से, मौजूदा विंडो के ऐक्टिव टैब पर ले जाता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(language: string) => void
-
भाषा
स्ट्रिंग
ISO भाषा कोड, जैसे कि
en
याfr
. इस तरीके से काम करने वाली भाषाओं की पूरी सूची के लिए, kLanguageInfoTable देखें. दूसरे से चौथे कॉलम की जांच की जाती है और पहली ऐसी वैल्यू दिखाई जाती है जो शून्य न हो. हालांकि, आसान चाइनीज़ के लिएzh-CN
दिखाया जाता है. किसी ऐसी भाषा के लिएund
दिखाया जाता है जिसकी पहचान नहीं की जा सकी हो या जिसकी जानकारी न दी गई हो.
-
रिटर्न
-
Promise<string>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
मेमोरी से किसी टैब को हटाता है. हटाए गए टैब, अब भी टैब स्ट्रिप पर दिखते हैं. इन्हें फिर से चालू करने पर, ये फिर से लोड हो जाते हैं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
जिस टैब को खारिज करना है उसका आईडी. अगर यह तय किया गया है, तो टैब को तब तक खारिज कर दिया जाता है, जब तक वह ऐक्टिव नहीं हो जाता या पहले से खारिज नहीं हो जाता. अगर इस विकल्प को शामिल नहीं किया जाता है, तो ब्राउज़र सबसे कम अहमियत वाले टैब को हटा देता है. अगर कोई ऐसा टैब नहीं है जिसे खारिज किया जा सकता हो, तो यह काम नहीं करेगा.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab?: Tab) => void
-
टैब
Tab ज़रूरी नहीं है
अगर टैब को खारिज कर दिया गया है, तो खारिज किया गया टैब. अगर टैब को खारिज नहीं किया गया है, तो कोई वैल्यू नहीं.
-
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
किसी टैब का डुप्लीकेट बनाता है.
पैरामीटर
-
tabId
संख्या
उस टैब का आईडी जिसका डुप्लीकेट बनाना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab?: Tab) => void
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
)
मेनिफ़ेस्ट V3 में, इसे scripting.executeScript
से बदल दिया गया है.
किसी पेज में JavaScript कोड इंजेक्ट करता है. ज़्यादा जानकारी के लिए, कॉन्टेंट स्क्रिप्ट दस्तावेज़ का प्रोग्रामैटिक इंजेक्शन सेक्शन देखें.
पैरामीटर
-
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिसमें स्क्रिप्ट चलानी है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चालू टैब पर सेट होता है.
-
विवरण
चलाए जाने वाली स्क्रिप्ट की जानकारी. कोड या फ़ाइल प्रॉपर्टी में से किसी एक को सेट करना ज़रूरी है. हालांकि, दोनों को एक साथ सेट नहीं किया जा सकता.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(result?: any[]) => void
-
नतीजा
any[] ज़रूरी नहीं
इंजेक्ट किए गए हर फ़्रेम में स्क्रिप्ट का नतीजा.
-
रिटर्न
-
Promise<any[] | undefined>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
चुने गए टैब के बारे में जानकारी दिखाता है.
पैरामीटर
-
tabId
संख्या
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab: Tab) => void
-
टैब
-
रिटर्न
-
Promise<Tab>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
)
कृपया tabs.query
{windowId: windowId}
का इस्तेमाल करें.
यह फ़ंक्शन, चुनी गई विंडो में मौजूद सभी टैब की जानकारी देता है.
पैरामीटर
-
windowId
number ज़रूरी नहीं
डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tabs: Tab[]) => void
-
टैब
Tab[]
-
रिटर्न
-
Promise<Tab[]>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
वह टैब दिखाता है जिससे यह स्क्रिप्ट कॉल की जा रही है. अगर टैब के अलावा किसी दूसरे कॉन्टेक्स्ट से कॉल किया जाता है, तो undefined
दिखाता है. उदाहरण के लिए, बैकग्राउंड पेज या पॉप-अप व्यू.
पैरामीटर
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
)
कृपया tabs.query
{active: true}
का इस्तेमाल करें.
यह फ़ंक्शन, बताई गई विंडो में चुने गए टैब को दिखाता है.
पैरामीटर
-
windowId
number ज़रूरी नहीं
डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab: Tab) => void
-
टैब
-
रिटर्न
-
Promise<Tab>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
किसी टैब का मौजूदा ज़ूम फ़ैक्टर दिखाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिससे मौजूदा ज़ूम फ़ैक्टर पाना है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चालू टैब पर सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(zoomFactor: number) => void
-
zoomFactor
संख्या
टैब का मौजूदा ज़ूम फ़ैक्टर.
-
रिटर्न
-
Promise<number>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
किसी टैब की मौजूदा ज़ूम सेटिंग दिखाता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
ज़ूम की मौजूदा सेटिंग पाने के लिए, टैब का आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के ऐक्टिव टैब का आईडी होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(zoomSettings: ZoomSettings) => void
-
zoomSettings
टैब की ज़ूम करने की मौजूदा सेटिंग.
-
रिटर्न
-
Promise<ZoomSettings>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
अगर कोई पेज उपलब्ध है, तो पिछले पेज पर वापस जाएं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
जिस टैब पर वापस जाना है उसका आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चुने गए टैब पर सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
अगर अगला पेज उपलब्ध है, तो उस पर जाएं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
आगे जाने के लिए टैब का आईडी. यह डिफ़ॉल्ट रूप से, मौजूदा विंडो के चुने गए टैब पर सेट होता है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
यह किसी ग्रुप में एक या उससे ज़्यादा टैब जोड़ता है. अगर कोई ग्रुप नहीं चुना गया है, तो यह दिए गए टैब को नए ग्रुप में जोड़ता है.
पैरामीटर
-
विकल्प
ऑब्जेक्ट
-
createProperties
ऑब्जेक्ट ज़रूरी नहीं है
ग्रुप बनाने के लिए कॉन्फ़िगरेशन. अगर groupId पहले से तय है, तो इसका इस्तेमाल नहीं किया जा सकता.
-
windowId
number ज़रूरी नहीं
नए ग्रुप की विंडो. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो पर सेट होती है.
-
-
groupId
number ज़रूरी नहीं
उस ग्रुप का आईडी जिसमें टैब जोड़ने हैं. अगर कोई ग्रुप नहीं चुना जाता है, तो एक नया ग्रुप बनाया जाएगा.
-
tabIds
number | [number, ...number[]]
टैब आईडी या टैब आईडी की सूची, जिसे तय किए गए ग्रुप में जोड़ना है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(groupId: number) => void
-
groupId
संख्या
उस ग्रुप का आईडी जिसमें टैब जोड़े गए थे.
-
रिटर्न
-
Promise<number>
प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
दिए गए टैब को हाइलाइट करता है और ग्रुप के पहले टैब पर फ़ोकस करता है. अगर चुना गया टैब फ़िलहाल चालू है, तो ऐसा लगेगा कि कुछ नहीं हुआ.
पैरामीटर
-
highlightInfo
ऑब्जेक्ट
-
टैब
number | number[]
हाइलाइट करने के लिए एक या उससे ज़्यादा टैब इंडेक्स.
-
windowId
number ज़रूरी नहीं
वह विंडो जिसमें टैब होते हैं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(window: Window) => void
-
विंडो
इसमें उस विंडो की जानकारी होती है जिसके टैब हाइलाइट किए गए थे.
-
रिटर्न
-
Promise<windows.Window>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
)
मेनिफ़ेस्ट V3 में, इसे scripting.insertCSS
से बदल दिया गया है.
किसी पेज में सीएसएस इंजेक्ट करता है. इस तरीके से डाले गए स्टाइल, scripting.removeCSS
का इस्तेमाल करके हटाए जा सकते हैं. ज़्यादा जानकारी के लिए, कॉन्टेंट स्क्रिप्ट दस्तावेज़ का प्रोग्रामैटिक इंजेक्शन सेक्शन देखें.
पैरामीटर
-
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिसमें सीएसएस डालनी है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चालू टैब पर सेट होता है.
-
विवरण
डाले जाने वाले सीएसएस टेक्स्ट की जानकारी. कोड या फ़ाइल प्रॉपर्टी में से किसी एक को सेट करना ज़रूरी है. हालांकि, दोनों को एक साथ सेट नहीं किया जा सकता.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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 और उसके बाद के वर्शन
प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
इस फ़ंक्शन से, उन सभी टैब को चुना जाता है जिनमें बताई गई प्रॉपर्टी मौजूद होती हैं. अगर कोई प्रॉपर्टी नहीं बताई गई है, तो सभी टैब चुने जाते हैं.
पैरामीटर
-
queryInfo
ऑब्जेक्ट
-
सक्रिय
बूलियन ज़रूरी नहीं है
टैब, उनकी विंडो में चालू हैं या नहीं.
-
Audible
बूलियन ज़रूरी नहीं है
Chrome 45 और उसके बाद के वर्शनटैब की आवाज़ सुनाई दे रही है या नहीं.
-
autoDiscardable
बूलियन ज़रूरी नहीं है
Chrome 54 और उसके बाद के वर्शनक्या कम संसाधन होने पर, ब्राउज़र टैब को अपने-आप हटा सकता है.
-
currentWindow
बूलियन ज़रूरी नहीं है
टैब, मौजूदा विंडो में हैं या नहीं.
-
खारिज किया गया
बूलियन ज़रूरी नहीं है
Chrome 54 और उसके बाद के वर्शनटैब को खारिज किया गया है या नहीं. हटाए गए टैब का कॉन्टेंट, मेमोरी से अनलोड कर दिया जाता है. हालांकि, वह टैब स्ट्रिप में अब भी दिखता है. अगली बार चालू करने पर, इसका कॉन्टेंट फिर से लोड हो जाता है.
-
फ़्रीज़ किया गया
बूलियन ज़रूरी नहीं है
मंज़ूरी बाकी हैटैब फ़्रीज़ किए गए हैं या नहीं. फ़्रीज़ किया गया टैब, इवेंट हैंडलर या टाइमर जैसे टास्क नहीं कर सकता. यह टैब स्ट्रिप में दिखता है और इसका कॉन्टेंट मेमोरी में लोड होता है. इसे चालू करने पर, यह अनफ़्रीज़ हो जाता है.
-
groupId
number ज़रूरी नहीं
Chrome 88 और उसके बाद के वर्शनउस ग्रुप का आईडी जिसमें टैब मौजूद हैं या ग्रुप में शामिल नहीं किए गए टैब के लिए
tabGroups.TAB_GROUP_ID_NONE
. -
हाइलाइट की गई
बूलियन ज़रूरी नहीं है
टैब हाइलाइट किए गए हैं या नहीं.
-
इंडेक्स
number ज़रूरी नहीं
विंडो में टैब की पोज़िशन.
-
lastFocusedWindow
बूलियन ज़रूरी नहीं है
टैब, फ़ोकस की गई पिछली विंडो में हों या नहीं.
-
म्यूट किया गया
बूलियन ज़रूरी नहीं है
Chrome 45 और उसके बाद के वर्शनटैब म्यूट किए गए हैं या नहीं.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब पिन किए गए हैं या नहीं.
-
स्थिति
TabStatus ज़रूरी नहीं
टैब लोड होने की स्थिति.
-
title
स्ट्रिंग ज़रूरी नहीं है
पेज के टाइटल को किसी पैटर्न से मैच करना. अगर एक्सटेंशन के पास
"tabs"
अनुमति नहीं है, तो इस प्रॉपर्टी को नज़रअंदाज़ कर दिया जाता है. -
url
string | string[] ज़रूरी नहीं
टैब को एक या उससे ज़्यादा यूआरएल पैटर्न से मैच करें. फ़्रैगमेंट आइडेंटिफ़ायर मेल नहीं खाते. अगर एक्सटेंशन के पास
"tabs"
अनुमति नहीं है, तो इस प्रॉपर्टी को नज़रअंदाज़ कर दिया जाता है. -
windowId
number ज़रूरी नहीं
पैरंट विंडो का आईडी या मौजूदा विंडो के लिए
windows.WINDOW_ID_CURRENT
. -
windowType
WindowType ज़रूरी नहीं है
टैब किस तरह की विंडो में हैं.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(result: Tab[]) => void
-
नतीजा
Tab[]
-
रिटर्न
-
Promise<Tab[]>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
किसी टैब को फिर से लोड करें.
पैरामीटर
-
tabId
number ज़रूरी नहीं
रीफ़्रेश किए जाने वाले टैब का आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चुने गए टैब पर सेट होता है.
-
reloadProperties
ऑब्जेक्ट ज़रूरी नहीं है
-
bypassCache
बूलियन ज़रूरी नहीं है
स्थानीय कैश मेमोरी को बायपास करना है या नहीं. डिफ़ॉल्ट रूप से, यह
false
पर सेट होती है.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
एक या उससे ज़्यादा टैब बंद करता है.
पैरामीटर
-
tabIds
number | number[]
बंद किए जाने वाले टैब का आईडी या टैब आईडी की सूची.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
)
मेनिफ़ेस्ट V3 में, इसे scripting.removeCSS
से बदल दिया गया है.
किसी पेज से वह सीएसएस हटाता है जिसे पहले scripting.insertCSS
को कॉल करके इंजेक्ट किया गया था.
पैरामीटर
-
tabId
number ज़रूरी नहीं
उस टैब का आईडी जिससे सीएसएस हटानी है. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चालू टैब पर सेट होता है.
-
विवरण
हटाए जाने वाले सीएसएस टेक्स्ट की जानकारी. कोड या फ़ाइल प्रॉपर्टी में से किसी एक को सेट करना ज़रूरी है. हालांकि, दोनों को एक साथ सेट नहीं किया जा सकता.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
यह फ़ंक्शन, चुने गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट को एक मैसेज भेजता है. साथ ही, जवाब मिलने पर चलने के लिए एक वैकल्पिक कॉलबैक भी भेजता है. runtime.onMessage
इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है.
पैरामीटर
-
tabId
संख्या
-
मैसेज
कोई
भेजा जाने वाला मैसेज. यह मैसेज, JSON फ़ॉर्मैट में बदला जा सकने वाला ऑब्जेक्ट होना चाहिए.
-
विकल्प
ऑब्जेक्ट ज़रूरी नहीं है
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 और उसके बाद के वर्शनcallback
पैरामीटर इस तरह दिखता है:(response: any) => void
-
जवाब
कोई
मैसेज के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर तय किए गए टैब से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाता है और
runtime.lastError
को गड़बड़ी के मैसेज पर सेट किया जाता है.
-
रिटर्न
-
Promise<any>
Chrome 99 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
)
कृपया runtime.sendMessage
का इस्तेमाल करें.
यह फ़ंक्शन, चुने गए टैब में मौजूद कॉन्टेंट स्क्रिप्ट को एक अनुरोध भेजता है. साथ ही, जवाब मिलने पर चलने के लिए एक वैकल्पिक कॉलबैक भी भेजता है. extension.onRequest
इवेंट, मौजूदा एक्सटेंशन के लिए तय किए गए टैब में चल रही हर कॉन्टेंट स्क्रिप्ट में ट्रिगर होता है.
पैरामीटर
-
tabId
संख्या
-
CANNOT TRANSLATE
कोई
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 99 और उसके बाद के वर्शनcallback
पैरामीटर इस तरह दिखता है:(response: any) => void
-
जवाब
कोई
अनुरोध के हैंडलर से भेजा गया JSON रिस्पॉन्स ऑब्जेक्ट. अगर तय किए गए टैब से कनेक्ट करते समय कोई गड़बड़ी होती है, तो कॉलबैक को बिना किसी आर्ग्युमेंट के कॉल किया जाता है और
runtime.lastError
को गड़बड़ी के मैसेज पर सेट किया जाता है.
-
रिटर्न
-
Promise<any>
Chrome 99 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
किसी टैब पर ज़ूम करता है.
पैरामीटर
-
tabId
number ज़रूरी नहीं
ज़ूम करने के लिए टैब का आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के ऐक्टिव टैब पर सेट होता है.
-
zoomFactor
संख्या
नया ज़ूम फ़ैक्टर.
0
की वैल्यू, टैब को उसके मौजूदा डिफ़ॉल्ट ज़ूम फ़ैक्टर पर सेट करती है.0
से ज़्यादा की वैल्यू, टैब के लिए ज़ूम फ़ैक्टर तय करती हैं. ऐसा हो सकता है कि यह वैल्यू डिफ़ॉल्ट न हो. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
किसी टैब के लिए ज़ूम की सेटिंग सेट करता है. इससे यह तय होता है कि ज़ूम में हुए बदलावों को कैसे मैनेज किया जाए. टैब पर नेविगेट करने पर, ये सेटिंग डिफ़ॉल्ट पर रीसेट हो जाती हैं.
पैरामीटर
-
tabId
number ज़रूरी नहीं
ज़ूम की सेटिंग बदलने के लिए टैब का आईडी. डिफ़ॉल्ट रूप से, यह मौजूदा विंडो के चालू टैब पर सेट होता है.
-
zoomSettings
इससे यह तय होता है कि ज़ूम में होने वाले बदलावों को कैसे और किस दायरे में मैनेज किया जाए.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
एक या उससे ज़्यादा टैब को उनके ग्रुप से हटाता है. अगर कोई ग्रुप खाली हो जाता है, तो उसे मिटा दिया जाता है.
पैरामीटर
-
tabIds
number | [number, ...number[]]
टैब का आईडी या टैब के आईडी की सूची, जिसे उनके ग्रुप से हटाना है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:() => void
रिटर्न
-
Promise<void>
प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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
स्ट्रिंग ज़रूरी नहीं है
टैब पर नेविगेट करने के लिए यूआरएल. JavaScript यूआरएल का इस्तेमाल नहीं किया जा सकता. इसके बजाय,
scripting.executeScript
का इस्तेमाल करें.
-
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर इस तरह दिखता है:(tab?: Tab) => void
रिटर्न
-
Promise<Tab | undefined>
Chrome 88 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन के साथ काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब किसी विंडो में ऐक्टिव टैब बदलता है. ध्यान दें कि हो सकता है कि यह इवेंट ट्रिगर होने के समय, टैब का यूआरएल सेट न हो. हालांकि, यूआरएल सेट होने पर सूचना पाने के लिए, onUpdated इवेंट को सुना जा सकता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(activeInfo: object) => void
-
activeInfo
ऑब्जेक्ट
-
tabId
संख्या
उस टैब का आईडी जो ऐक्टिव हो गया है.
-
windowId
संख्या
उस विंडो का आईडी जिसमें ऐक्टिव टैब बदला गया.
-
-
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
कृपया tabs.onActivated
का इस्तेमाल करें.
यह तब ट्रिगर होता है, जब किसी विंडो में चुना गया टैब बदलता है. ध्यान दें कि हो सकता है कि यह इवेंट ट्रिगर होने के समय, टैब का यूआरएल सेट न हो. हालांकि, tabs.onUpdated
इवेंट को सुनकर, यूआरएल सेट होने पर सूचना पाई जा सकती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(tabId: number, selectInfo: object) => void
-
tabId
संख्या
-
selectInfo
ऑब्जेक्ट
-
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
संख्या
-
-
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
कृपया tabs.onHighlighted
का इस्तेमाल करें.
यह तब ट्रिगर होता है, जब किसी विंडो में हाइलाइट किए गए या चुने गए टैब बदलते हैं.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(selectInfo: object) => void
-
selectInfo
ऑब्जेक्ट
-
tabIds
number[]
विंडो में हाइलाइट किए गए सभी टैब.
-
windowId
संख्या
वह विंडो जिसका टैब बदला गया.
-
-
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
संख्या
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
कृपया tabs.onActivated
का इस्तेमाल करें.
यह तब ट्रिगर होता है, जब किसी विंडो में चुना गया टैब बदलता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(tabId: number, selectInfo: object) => void
-
tabId
संख्या
-
selectInfo
ऑब्जेक्ट
-
windowId
संख्या
उस विंडो का आईडी जिसमें चुने गए टैब की स्थिति बदली है.
-
-
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
स्ट्रिंग ज़रूरी नहीं है
टैब के नए फ़ेविकॉन का यूआरएल.
-
फ़्रीज़ किया गया
बूलियन ज़रूरी नहीं है
मंज़ूरी बाकी हैटैब की नई फ़्रीज़ की गई स्थिति.
-
groupId
number ज़रूरी नहीं
Chrome 88 और उसके बाद के वर्शनटैब का नया ग्रुप.
-
mutedInfo
MutedInfo ज़रूरी नहीं है
Chrome 46 और उसके बाद के वर्शनटैब के म्यूट होने की नई स्थिति और बदलाव की वजह.
-
पिन किया गया
बूलियन ज़रूरी नहीं है
टैब की पिन की गई नई स्थिति.
-
स्थिति
TabStatus ज़रूरी नहीं
टैब के लोड होने की स्थिति.
-
title
स्ट्रिंग ज़रूरी नहीं है
Chrome 48 और उसके बाद के वर्शनटैब का नया टाइटल.
-
url
स्ट्रिंग ज़रूरी नहीं है
अगर टैब का यूआरएल बदल गया है, तो उसका यूआरएल.
-
-
टैब
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
किसी टैब को ज़ूम करने पर ट्रिगर होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर इस तरह दिखता है:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
ऑब्जेक्ट
-
newZoomFactor
संख्या
-
oldZoomFactor
संख्या
-
tabId
संख्या
-
zoomSettings
-
-