توضیحات
از API chrome.tabs برای تعامل با سیستم تبهای مرورگر استفاده کنید. میتوانید از این API برای ایجاد، تغییر و تنظیم مجدد تبها در مرورگر استفاده کنید.
نمای کلی
API تبها نه تنها امکاناتی برای دستکاری و مدیریت تبها ارائه میدهد، بلکه میتواند زبان تب را نیز تشخیص دهد، از آن اسکرینشات بگیرد و با اسکریپتهای محتوای تب ارتباط برقرار کند .
مجوزها
اکثر ویژگیها برای استفاده به هیچ مجوزی نیاز ندارند. برای مثال: ایجاد یک تب جدید، بارگذاری مجدد یک تب، رفتن به یک URL دیگر و غیره.
سه مجوز وجود دارد که توسعهدهندگان باید هنگام کار با Tabs API از آنها آگاه باشند.
- مجوز «زبانهها»
- این مجوز به فضای نام
chrome.tabsدسترسی نمیدهد. در عوض، به یک افزونه این امکان را میدهد کهtabs.query()را در برابر چهار ویژگی حساس در نمونههایtabs.Tabفراخوانی کند: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"
],
...
}
موارد استفاده
بخشهای زیر برخی از موارد استفاده رایج را نشان میدهند.
باز کردن صفحه افزونه در یک تب جدید
یک الگوی رایج برای افزونهها این است که پس از نصب افزونه، یک صفحه معرفی در یک تب جدید باز میشود. مثال زیر نحوه انجام این کار را نشان میدهد.
پسزمینه.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
دریافت برگه فعلی
این مثال نشان میدهد که چگونه سرویس ورکر یک افزونه میتواند تب فعال را از پنجرهی متمرکز فعلی (یا آخرین پنجرهی متمرکز، اگر هیچ پنجرهی کرومی متمرکز نباشد) بازیابی کند. این معمولاً میتواند به عنوان تب فعلی کاربر در نظر گرفته شود.
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
وضعیت بیصدا بودن تب و دلیل آخرین تغییر وضعیت.
خواص
- شناسه افزونه
رشته اختیاری
شناسه افزونهای که وضعیت بیصدا را تغییر داده است. اگر آخرین تغییر وضعیت بیصدا به دلیل یک افزونه نبوده باشد، تنظیم نمیشود.
- خاموش
بولی
اینکه آیا زبانه بیصدا شده است (از پخش صدا جلوگیری میشود). حتی اگر زبانه پخش نشده باشد یا در حال حاضر صدایی پخش نکند، ممکن است بیصدا باشد. معادل این است که آیا نشانگر صدای «بیصدا» نمایش داده میشود یا خیر.
- دلیل
دلیل اطلاعات خاموش اختیاری است
دلیل بیصدا یا بیصدا کردن تب. اگر وضعیت بیصدا کردن تب هرگز تغییر نکرده باشد، تنظیم نمیشود.
MutedInfoReason
رویدادی که باعث تغییر وضعیت بیصدا شده است.
شمارشی
"کاربر" "گرفتن" "امتداد"
یک عمل ورودی کاربر، حالت بیصدا را تنظیم کرد.
ضبط برگه آغاز شد و باعث تغییر وضعیت بیصدا شد.
یک افزونه که با فیلد extensionId شناسایی میشود، حالت بیصدا را تنظیم میکند.
Tab
خواص
- فعال
بولی
اینکه آیا تب در پنجرهاش فعال است یا خیر. لزوماً به این معنی نیست که پنجره در حالت فوکوس قرار دارد.
- قابل شنیدن
بولی اختیاری
کروم ۴۵+اینکه آیا زبانه در چند ثانیه گذشته صدایی تولید کرده است یا خیر (اما اگر بیصدا نیز باشد، ممکن است شنیده نشود). معادل این است که آیا نشانگر «صدای بلندگو» نمایش داده میشود یا خیر.
- خودکارقابل حذف
بولی
کروم ۵۴+اینکه آیا مرورگر میتواند در صورت کمبود منابع، تب را بهطور خودکار حذف کند یا خیر.
- دور انداخته شده
بولی
کروم ۵۴+اینکه آیا تب حذف شده است یا خیر. تب حذف شده، تبی است که محتوای آن از حافظه حذف شده است، اما هنوز در نوار تبها قابل مشاهده است. محتوای آن دفعه بعد که فعال شود، دوباره بارگذاری میشود.
- آدرس آیکون مورد علاقه
رشته اختیاری
آدرس اینترنتی (URL) فاوآیکون تب. این ویژگی فقط در صورتی وجود دارد که افزونه مجوز
"tabs"یا مجوزهای میزبان برای صفحه را داشته باشد. همچنین اگر تب در حال بارگیری باشد، میتواند یک رشته خالی باشد. - یخ زده
بولی
کروم ۱۳۲+اینکه آیا تب قفل شده است یا خیر. یک تب قفل شده نمیتواند وظایفی از جمله کنترلکنندههای رویداد یا تایمرها را اجرا کند. در نوار تبها قابل مشاهده است و محتوای آن در حافظه بارگذاری میشود. هنگام فعال شدن، قفل آن باز میشود.
- شناسه گروه
شماره
کروم ۸۸+شناسه گروهی که تب به آن تعلق دارد.
- ارتفاع
شماره اختیاری
ارتفاع تب بر حسب پیکسل.
- برجسته شده
بولی
اینکه آیا برگه برجسته شده است یا خیر.
- شناسه
شماره اختیاری
شناسهی تب. شناسههای تب در یک جلسهی مرورگر منحصر به فرد هستند. تحت برخی شرایط، ممکن است به یک تب شناسهای اختصاص داده نشود؛ برای مثال، هنگام جستجوی تبهای خارجی با استفاده از API
sessions، در این صورت ممکن است شناسهی جلسه وجود داشته باشد. شناسهی تب همچنین میتواند برای برنامهها و پنجرههای devtools رویchrome.tabs.TAB_ID_NONEتنظیم شود. - ناشناس
بولی
اینکه آیا برگه در پنجره ناشناس است یا خیر.
- شاخص
شماره
اندیس مبتنی بر صفرِ تبِ درون پنجرهاش.
- آخرین دسترسی
شماره
کروم ۱۲۱+آخرین باری که تب در پنجره خود فعال شده است، به عنوان تعداد میلی ثانیه از زمان epoch.
- اطلاعات بیصدا
اطلاعات خاموش اختیاری
کروم ۴۶+وضعیت بیصدا بودن تب و دلیل آخرین تغییر وضعیت.
- تب آی دی بازکننده
شماره اختیاری
شناسهی برگهای که این برگه را باز کرده است، در صورت وجود. این ویژگی فقط در صورتی وجود دارد که برگهی بازکننده هنوز وجود داشته باشد.
- در انتظارآدرس
رشته اختیاری
کروم ۷۹+آدرس اینترنتی (URL) که تب قبل از ثبت نهایی به آن هدایت میشود. این ویژگی فقط در صورتی وجود دارد که افزونه مجوز
"tabs"را داشته باشد یا مجوزهای میزبان برای صفحه داشته باشد و یک پیمایش در حال انتظار وجود داشته باشد. - سنجاق شده
بولی
اینکه آیا برگه پین شده است یا خیر.
- انتخاب شده
بولی
منسوخ شدهلطفا از
tabs.Tab.highlightedاستفاده کنید.اینکه آیا برگه انتخاب شده است یا خیر.
- شناسه جلسه
رشته اختیاری
شناسهی جلسه (session ID) که برای شناسایی منحصر به فرد یک برگه (tab) که از API
sessionsAPI) به دست آمده است، استفاده میشود. - splitViewId
شماره اختیاری
در حال بررسیشناسه نمای تقسیمشدهای که تب به آن تعلق دارد.
- وضعیت
وضعیت برگه ( اختیاری)
وضعیت بارگذاری برگه.
- عنوان
رشته اختیاری
عنوان برگه. این ویژگی فقط در صورتی وجود دارد که افزونه مجوز
"tabs"را داشته باشد یا مجوزهای میزبان برای صفحه داشته باشد. - آدرس اینترنتی
رشته اختیاری
آخرین URL ثبتشدهی فریم اصلی تب. این ویژگی فقط در صورتی وجود دارد که افزونه مجوز
"tabs"یا مجوزهای میزبان برای صفحه را داشته باشد. اگر تب هنوز ثبت نشده باشد، میتواند یک رشتهی خالی باشد. همچنین بهTab.pendingUrlمراجعه کنید. - عرض
شماره اختیاری
عرض تب بر حسب پیکسل.
- شناسه پنجره
شماره
شناسهی پنجرهای که حاوی تب است.
TabStatus
وضعیت بارگذاری برگه.
شمارشی
"تخلیه شده" "در حال بارگذاری" "کامل"
WindowType
نوع پنجره.
شمارشی
"عادی" "پاپآپ" "پانل" "برنامه" "ابزارهای توسعه"
ZoomSettings
تعریف میکند که تغییرات بزرگنمایی در یک تب چگونه و در چه محدودهای مدیریت شوند.
خواص
- پیش فرضفاکتور بزرگنمایی
شماره اختیاری
کروم ۴۳+برای برگرداندن سطح بزرگنمایی پیشفرض برای تب فعلی در فراخوانیهای tabs.getZoomSettings استفاده میشود.
- حالت
حالت تنظیمات زوم اختیاری است
نحوه مدیریت تغییرات بزرگنمایی را تعریف میکند، یعنی کدام موجودیت مسئول مقیاسبندی واقعی صفحه است؛ پیشفرض روی
automaticاست. - محدوده
تنظیمات زوم و محدوده اختیاری
مشخص میکند که آیا تغییرات بزرگنمایی برای مبدأ صفحه باقی میمانند یا فقط در این برگه اعمال میشوند؛ در حالت
automatic، پیشفرض بهper-originو در غیر این صورتper-tab.
ZoomSettingsMode
نحوه مدیریت تغییرات بزرگنمایی را تعریف میکند، یعنی کدام موجودیت مسئول مقیاسبندی واقعی صفحه است؛ پیشفرض روی automatic است.
شمارشی
"خودکار" "دستی" "معلول"
تغییرات بزرگنمایی به طور خودکار توسط مرورگر انجام میشود.
مدیریت خودکار تغییرات زوم را لغو میکند. رویداد onZoomChange همچنان ارسال خواهد شد و این وظیفه افزونه است که به این رویداد گوش دهد و صفحه را به صورت دستی مقیاسبندی کند. این حالت از زوم per-origin پشتیبانی نمیکند و بنابراین تنظیمات زوم scope نادیده میگیرد و per-tab را در نظر میگیرد.
تمام بزرگنماییهای برگه را غیرفعال میکند. برگه به سطح بزرگنمایی پیشفرض برمیگردد و تمام تغییرات بزرگنمایی انجام شده نادیده گرفته میشوند.
ZoomSettingsScope
مشخص میکند که آیا تغییرات بزرگنمایی برای مبدأ صفحه باقی میمانند یا فقط در این برگه اعمال میشوند؛ در حالت automatic ، پیشفرض به per-origin و در غیر این صورت per-tab .
شمارشی
"به ازای هر مبدا" "به ازای هر برگه"
تغییرات بزرگنمایی در مبدأ صفحه بزرگنمایی شده باقی میمانند، یعنی تمام تبهای دیگری که به همان مبدأ پیمایش میشوند نیز بزرگنمایی میشوند. علاوه بر این، تغییرات بزرگنمایی به ازای per-origin با مبدأ ذخیره میشوند، به این معنی که هنگام پیمایش به صفحات دیگر در همان مبدأ، همه آنها به همان ضریب بزرگنمایی بزرگنمایی میشوند. دامنه per-origin فقط در حالت automatic در دسترس است.
تغییرات بزرگنمایی فقط در این برگه اعمال میشوند و تغییرات بزرگنمایی در برگههای دیگر، تاثیری بر بزرگنمایی این برگه ندارد. همچنین، تغییرات بزرگنمایی per-tab در پیمایش بازنشانی میشوند؛ پیمایش یک برگه همیشه صفحات را با ضرایب بزرگنمایی per-origin بارگذاری میکند.
خواص
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
حداکثر تعداد دفعاتی که captureVisibleTab میتواند در هر ثانیه فراخوانی شود. captureVisibleTab گران است و نباید زیاد فراخوانی شود.
ارزش
۲
SPLIT_VIEW_ID_NONE
شناسهای که نشاندهندهی عدم وجود تب تقسیمشده است.
ارزش
-1
TAB_ID_NONE
شناسهای که نشاندهندهی عدم وجود تب مرورگر است.
ارزش
-1
TAB_INDEX_NONE
اندیسی که نشاندهندهی عدم وجود اندیس تب در tab_strip است.
ارزش
-1
روشها
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
): Promise<string>
ناحیه قابل مشاهده تب فعال فعلی در پنجره مشخص شده را ضبط میکند. برای فراخوانی این روش، افزونه باید مجوز <all_urls> یا مجوز activeTab را داشته باشد. علاوه بر سایتهایی که افزونهها معمولاً میتوانند به آنها دسترسی داشته باشند، این روش به افزونهها اجازه میدهد سایتهای حساسی را که در غیر این صورت محدود شدهاند، از جمله صفحات chrome:-scheme، صفحات سایر افزونهها و URLهای data:، ضبط کنند. این سایتهای حساس فقط با مجوز activeTab قابل ضبط هستند. URLهای فایل فقط در صورتی قابل ضبط هستند که افزونه به فایل دسترسی داشته باشد.
پارامترها
- شناسه پنجره
شماره اختیاری
پنجره هدف. به طور پیشفرض پنجره فعلی .
- گزینهها
جزئیات تصویر اختیاری
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(dataUrl: string) => void
- آدرس داده
رشته
یک URL داده که تصویری از ناحیه قابل مشاهده تب گرفته شده را رمزگذاری میکند. ممکن است برای نمایش به ویژگی 'src' یک عنصر
imgHTML اختصاص داده شود.
بازگشتها
قول<string>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
به اسکریپت(های) محتوا در تب مشخص شده متصل میشود. رویداد runtime.onConnect در هر اسکریپت محتوا که در تب مشخص شده برای افزونه فعلی اجرا میشود، اجرا میشود. برای جزئیات بیشتر، به پیامرسانی اسکریپت محتوا مراجعه کنید.
پارامترها
- شناسه برگه
شماره
- اطلاعات اتصال
شیء اختیاری
- شناسه سند
رشته اختیاری
کروم ۱۰۶+به جای تمام فریمهای موجود در برگه، یک پورت را به یک سند خاص که توسط
documentIdمشخص شده است، باز کنید. - شناسه قاب
شماره اختیاری
به جای تمام فریمهای موجود در برگه، یک پورت را برای یک فریم خاص که توسط
frameIdمشخص شده است، باز کنید. - نام
رشته اختیاری
برای اسکریپتهای محتوایی که منتظر رویداد اتصال هستند، به onConnect ارسال میشود.
بازگشتها
پورتی که میتواند برای ارتباط با اسکریپتهای محتوایی که در تب مشخص شده اجرا میشوند، استفاده شود. رویداد
runtime.Portمربوط به پورت در صورتی اجرا میشود که تب بسته شود یا وجود نداشته باشد.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
): Promise<Tab>
یک برگه جدید ایجاد میکند.
پارامترها
- ایجاد ویژگیها
شیء
- فعال
بولی اختیاری
اینکه آیا تب باید به عنوان تب فعال در پنجره انتخاب شود یا خیر. تاثیری بر فوکوس بودن پنجره ندارد (به
windows.updateمراجعه کنید). مقدار پیشفرضtrueاست. - شاخص
شماره اختیاری
موقعیتی که تب باید در پنجره بگیرد. مقدار ارائه شده بین صفر و تعداد تبهای موجود در پنجره محدود میشود.
- تب آی دی بازکننده
شماره اختیاری
شناسهی برگهای که این برگه را باز کرده است. در صورت مشخص شدن، برگهی بازکننده باید در همان پنجرهای باشد که برگهی جدید ایجاد شده است.
- سنجاق شده
بولی اختیاری
اینکه آیا تب باید پین شود یا خیر. مقدار پیشفرض
falseاست. - انتخاب شده
بولی اختیاری
منسوخ شدهلطفا از فعال استفاده کنید.
اینکه آیا تب مورد نظر باید به عنوان تب انتخاب شده در پنجره انتخاب شود یا خیر. مقدار پیشفرض
trueاست. - آدرس اینترنتی
رشته اختیاری
نشانی اینترنتی (URL) که در ابتدا باید به آن بروید. نشانیهای اینترنتی کاملاً معتبر باید شامل یک طرح باشند (مثلاً «http://www.google.com» نه «www.google.com»). نشانیهای اینترنتی نسبی نسبت به صفحه فعلی در افزونه هستند. پیشفرض روی صفحه برگه جدید است.
- شناسه پنجره
شماره اختیاری
پنجرهای که در آن تب جدید ایجاد میشود. پیشفرض پنجره فعلی است.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tab: Tab) => void
- تب
برگه ایجاد شده.
بازگشتها
قول بده< تب >
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
): Promise<string>
زبان اصلی محتوای یک برگه را تشخیص میدهد.
پارامترها
- شناسه برگه
شماره اختیاری
به طور پیشفرض روی برگه فعال پنجره فعلی قرار میگیرد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(language: string) => void
- زبان
رشته
یک کد زبان ISO مانند
enیاfr. برای لیست کاملی از زبانهای پشتیبانی شده توسط این روش، به kLanguageInfoTable مراجعه کنید. ستونهای دوم تا چهارم بررسی میشوند و اولین مقدار غیر NULL بازگردانده میشود، به جز چینی ساده شده کهzh-CNبرای آن بازگردانده میشود. برای یک زبان ناشناخته/تعریف نشده،undبازگردانده میشود.
بازگشتها
قول<string>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
): Promise<Tab | undefined>
یک تب را از حافظه حذف میکند. تبهای حذف شده هنوز در نوار تبها قابل مشاهده هستند و هنگام فعال شدن دوباره بارگذاری میشوند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است حذف شود. در صورت مشخص شدن، برگه حذف میشود، مگر اینکه فعال باشد یا از قبل حذف شده باشد. در صورت حذف، مرورگر کماهمیتترین برگه را حذف میکند. اگر هیچ برگهی قابل حذفی وجود نداشته باشد، این روش ممکن است با شکست مواجه شود.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tab?: Tab) => void
- تب
تب اختیاری
تب حذفشده، اگر با موفقیت حذف شده باشد؛ در غیر این صورت تعریف نشده است.
بازگشتها
قول< تب | تعریف نشده>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
): Promise<Tab | undefined>
یک برگه را کپی میکند.
پارامترها
- شناسه برگه
شماره
شناسهی برگهای که قرار است کپی شود.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tab?: Tab) => void
بازگشتها
قول< تب | تعریف نشده>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
): Promise<any[] | undefined>
در Manifest V3 با scripting.executeScript جایگزین شده است.
کد جاوا اسکریپت را به یک صفحه تزریق میکند. برای جزئیات بیشتر، به بخش تزریق برنامهنویسیشده در سند اسکریپتهای محتوا مراجعه کنید.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که اسکریپت در آن اجرا میشود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- جزئیات
جزئیات اسکریپتی که قرار است اجرا شود. یا کد یا ویژگی فایل باید تنظیم شوند، اما هر دو را نمیتوان همزمان تنظیم کرد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result?: any[]) => void
- نتیجه
هر [] اختیاری
نتیجه اسکریپت در هر فریم تزریق شده.
بازگشتها
قول <any[] | undefined>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
): Promise<Tab>
جزئیات مربوط به تب مشخص شده را بازیابی میکند.
پارامترها
- شناسه برگه
شماره
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tab: Tab) => void
- تب
بازگشتها
قول بده< تب >
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
): Promise<Tab[]>
لطفا از tabs.query {windowId: windowId} استفاده کنید.
جزئیات مربوط به تمام تبهای موجود در پنجرهی مشخص شده را دریافت میکند.
پارامترها
- شناسه پنجره
شماره اختیاری
پیشفرض روی پنجرهی فعلی .
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tabs: Tab[]) => void
- زبانهها
تب []
بازگشتها
قول بده< تب []>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
): Promise<Tab | undefined>
تبی را که این فراخوانی اسکریپت از آن انجام میشود، برمیگرداند. اگر از یک زمینه غیر از تب (مثلاً یک صفحه پسزمینه یا نمای پاپآپ) فراخوانی شود، undefined برمیگرداند.
پارامترها
بازگشتها
قول< تب | تعریف نشده>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
): Promise<Tab>
لطفا از tabs.query {active: true} استفاده کنید.
تبی را که در پنجره مشخص شده انتخاب شده است، برمیگرداند.
پارامترها
- شناسه پنجره
شماره اختیاری
پیشفرض روی پنجرهی فعلی .
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tab: Tab) => void
- تب
بازگشتها
قول بده< تب >
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
): Promise<number>
ضریب بزرگنمایی فعلی یک تب مشخص شده را دریافت میکند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است ضریب بزرگنمایی فعلی از آن گرفته شود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(zoomFactor: number) => void
- زوم فاکتور
شماره
ضریب بزرگنمایی فعلی تب.
بازگشتها
قول<number>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
): Promise<ZoomSettings>
تنظیمات بزرگنمایی فعلی یک تب مشخص شده را دریافت میکند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که تنظیمات بزرگنمایی فعلی از آن دریافت میشود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(zoomSettings: ZoomSettings) => void
- تنظیمات زوم
تنظیمات بزرگنمایی فعلی برگه.
بازگشتها
قول< تنظیمات زوم >
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
): Promise<void>
اگر صفحهای در دسترس بود، به صفحه قبل برگردید.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است به عقب برگردد؛ بهطور پیشفرض روی برگهی انتخابشدهی پنجرهی فعلی قرار دارد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
): Promise<void>
اگر صفحهای در دسترس بود، به صفحه بعد بروید.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است به جلو حرکت کند؛ بهطور پیشفرض روی برگهی انتخابشدهی پنجرهی فعلی قرار دارد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
group()
chrome.tabs.group(
options: object,
callback?: function,
): Promise<number>
یک یا چند تب را به یک گروه مشخص شده اضافه میکند، یا اگر هیچ گروهی مشخص نشده باشد، تبهای داده شده را به یک گروه تازه ایجاد شده اضافه میکند.
پارامترها
- گزینهها
شیء
- ایجاد ویژگیها
شیء اختیاری
پیکربندیهایی برای ایجاد یک گروه. اگر groupId از قبل مشخص شده باشد، نمیتوان از آن استفاده کرد.
- شناسه پنجره
شماره اختیاری
پنجرهی گروه جدید. پیشفرض پنجرهی فعلی است.
- شناسه گروه
شماره اختیاری
شناسهی گروهی که تبها به آن اضافه میشوند. اگر مشخص نشود، یک گروه جدید ایجاد خواهد شد.
- شناسههای برگه
عدد | [عدد، ...عدد[]]
شناسهی برگه یا فهرست شناسههای برگه برای اضافه کردن به گروه مشخصشده.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(groupId: number) => void
- شناسه گروه
شماره
شناسه گروهی که تبها به آن اضافه شدهاند.
بازگشتها
قول<number>
Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
): Promise<windows.Window>
تبهای داده شده را هایلایت میکند و روی اولین تب از گروه فوکوس میکند. اگر تب مشخص شده در حال حاضر فعال باشد، به نظر میرسد که هیچ کاری انجام نمیدهد.
پارامترها
- اطلاعات برجسته
شیء
- زبانهها
عدد | عدد[]
یک یا چند شاخص تب برای برجسته کردن.
- شناسه پنجره
شماره اختیاری
پنجرهای که شامل تبها میشود.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(window: Window) => void
- پنجره
حاوی جزئیاتی درباره پنجرهای است که تبهای آن هایلایت شدهاند.
بازگشتها
قول < windows.Window >
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
): Promise<void>
با scripting.insertCSS در Manifest V3 جایگزین شد.
CSS را به یک صفحه تزریق میکند. استایلهای درج شده با این روش را میتوان با scripting.removeCSS حذف کرد. برای جزئیات بیشتر، به بخش تزریق برنامهنویسیشده در سند اسکریپتهای محتوا مراجعه کنید.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که CSS در آن درج میشود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- جزئیات
جزئیات متن CSS برای درج. یا کد یا ویژگی فایل باید تنظیم شوند، اما هر دو را نمیتوان همزمان تنظیم کرد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
): Promise<Tab | Tab[]>
یک یا چند تب را به موقعیت جدیدی در پنجره خود یا به یک پنجره جدید منتقل میکند. توجه داشته باشید که تبها فقط میتوانند به پنجرههای معمولی (window.type === "normal") منتقل شوند.
پارامترها
- شناسههای برگه
عدد | عدد[]
شناسهی برگه یا فهرست شناسههای برگههایی که باید جابهجا شوند.
- ویژگیهای حرکت
شیء
- شاخص
شماره
موقعیتی که پنجره به آن منتقل میشود. برای قرار دادن تب در انتهای پنجره
-1استفاده کنید. - شناسه پنجره
شماره اختیاری
پیشفرض روی پنجرهای است که برگه در حال حاضر در آن قرار دارد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(tabs: Tab | Tab[]) => void
بازگشتها
- کروم ۸۸+
Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
): Promise<Tab[]>
تمام تبهایی که ویژگیهای مشخصشده را دارند، یا تمام تبها را در صورتی که هیچ ویژگی مشخص نشده باشد، برمیگرداند.
پارامترها
- اطلاعات پرس و جو
شیء
- فعال
بولی اختیاری
اینکه آیا تبها در پنجرههایشان فعال هستند یا خیر.
- قابل شنیدن
بولی اختیاری
کروم ۴۵+اینکه آیا زبانهها قابل شنیدن هستند یا خیر.
- خودکارقابل حذف
بولی اختیاری
کروم ۵۴+اینکه آیا مرورگر میتواند در صورت کمبود منابع، تبها را بهطور خودکار حذف کند یا خیر.
- پنجره فعلی
بولی اختیاری
اینکه آیا تبها در پنجرهی فعلی هستند یا خیر.
- دور انداخته شده
بولی اختیاری
کروم ۵۴+اینکه آیا تبها حذف شدهاند یا خیر. تب حذفشده، تبی است که محتوای آن از حافظه حذف شده است، اما هنوز در نوار تبها قابل مشاهده است. محتوای آن دفعهی بعد که فعال شود، دوباره بارگذاری میشود.
- یخ زده
بولی اختیاری
کروم ۱۳۲+اینکه آیا تبها قفل شدهاند یا خیر. یک تب قفلشده نمیتواند وظایفی از جمله کنترلکنندههای رویداد یا تایمرها را اجرا کند. در نوار تبها قابل مشاهده است و محتوای آن در حافظه بارگذاری میشود. هنگام فعالسازی قفلشده از حالت قفلشده خارج میشود.
- شناسه گروه
شماره اختیاری
کروم ۸۸+شناسه گروهی که تبها در آن قرار دارند، یا
tabGroups.TAB_GROUP_ID_NONEبرای تبهای گروهبندی نشده. - برجسته شده
بولی اختیاری
اینکه آیا تبها هایلایت شدهاند یا خیر.
- شاخص
شماره اختیاری
موقعیت تبها در پنجرههایشان.
- آخرین پنجره متمرکز
بولی اختیاری
اینکه آیا تبها در آخرین پنجرهی فوکوسشده قرار دارند یا خیر.
- خاموش
بولی اختیاری
کروم ۴۵+اینکه آیا زبانهها بیصدا هستند یا خیر.
- سنجاق شده
بولی اختیاری
اینکه آیا تبها پین شدهاند یا خیر.
- splitViewId
شماره اختیاری
کروم ۱۴۰+شناسهی نمای تقسیمشدهای که تبها در آن قرار دارند، یا
tabs.SPLIT_VIEW_ID_NONEبرای تبهایی که در نمای تقسیمشده نیستند. - وضعیت
وضعیت برگه ( اختیاری)
وضعیت بارگذاری تب.
- عنوان
رشته اختیاری
عناوین صفحات را با یک الگو مطابقت دهید. اگر افزونه مجوز
"tabs"یا مجوزهای میزبان برای صفحه را نداشته باشد، این ویژگی نادیده گرفته میشود. - آدرس اینترنتی
رشته | رشته[] اختیاری
تبها را با یک یا چند الگوی URL مطابقت دهید. شناسههای قطعه مطابقت ندارند. اگر افزونه مجوز
"tabs"یا مجوزهای میزبان برای صفحه را نداشته باشد، این ویژگی نادیده گرفته میشود. - شناسه پنجره
شماره اختیاری
شناسه پنجره والد، یا
windows.WINDOW_ID_CURRENTبرای پنجره فعلی . - نوع پنجره
نوع پنجره اختیاری
نوع پنجرهای که تبها در آن قرار دارند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(result: Tab[]) => void
- نتیجه
تب []
بازگشتها
قول بده< تب []>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
): Promise<void>
یک برگه را دوباره بارگذاری کنید.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است بارگذاری مجدد شود؛ بهطور پیشفرض، برگهی انتخابشدهی پنجرهی فعلی است.
- بارگذاری مجدد ویژگیها
شیء اختیاری
- بایپسکش
بولی اختیاری
اینکه آیا از ذخیرهسازی محلی صرفنظر شود یا خیر. مقدار پیشفرض
falseاست.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
): Promise<void>
یک یا چند تب را میبندد.
پارامترها
- شناسههای برگه
عدد | عدد[]
شناسهی برگه یا فهرست شناسههای برگههایی که باید بسته شوند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
): Promise<void>
با scripting.removeCSS در Manifest V3 جایگزین شد.
CSS ای را که قبلاً با فراخوانی scripting.insertCSS تزریق شده است، از صفحه حذف میکند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که CSS از آن حذف میشود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- جزئیات
جزئیات متن CSS که باید حذف شود. یا کد یا ویژگی فایل باید تنظیم شوند، اما هر دو را نمیتوان همزمان تنظیم کرد.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
): Promise<any>
یک پیام واحد را به اسکریپت(های) محتوا در برگه مشخص شده ارسال میکند، به همراه یک فراخوانی اختیاری که هنگام ارسال پاسخ اجرا میشود. رویداد runtime.onMessage در هر اسکریپت محتوا که در برگه مشخص شده برای افزونه فعلی اجرا میشود، اجرا میشود.
پارامترها
- شناسه برگه
شماره
- پیام
هر
پیامی که باید ارسال شود. این پیام باید یک شیء با قابلیت پشتیبانی از JSON باشد.
- گزینهها
شیء اختیاری
- تماس برگشتی
تابع اختیاری
کروم ۹۹+پارامتر
callbackبه شکل زیر است:(response: any) => void
- پاسخ
هر
شیء پاسخ JSON که توسط مدیریتکننده پیام ارسال میشود. اگر هنگام اتصال به تب مشخصشده خطایی رخ دهد، تابع فراخوانی بدون هیچ آرگومانی فراخوانی میشود و
runtime.lastErrorبه پیام خطا تنظیم میشود.
بازگشتها
قول بده<any>
کروم ۹۹+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
): Promise<any>
لطفا از runtime.sendMessage استفاده کنید.
یک درخواست واحد به اسکریپت(های) محتوا در تب مشخص شده ارسال میکند، به همراه یک فراخوانی اختیاری که هنگام ارسال پاسخ اجرا میشود. رویداد extension.onRequest در هر اسکریپت محتوا که در تب مشخص شده برای افزونه فعلی اجرا میشود، اجرا میشود.
پارامترها
- شناسه برگه
شماره
- درخواست
هر
- تماس برگشتی
تابع اختیاری
کروم ۹۹+پارامتر
callbackبه شکل زیر است:(response: any) => void
- پاسخ
هر
شیء پاسخ JSON که توسط کنترلکنندهی درخواست ارسال میشود. اگر هنگام اتصال به تب مشخصشده خطایی رخ دهد، تابع فراخوانی بدون هیچ آرگومانی فراخوانی میشود و
runtime.lastErrorبه پیام خطا تنظیم میشود.
بازگشتها
قول بده<any>
کروم ۹۹+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
): Promise<void>
یک تب مشخص شده را بزرگنمایی میکند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که قرار است بزرگنمایی شود؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- زوم فاکتور
شماره
ضریب بزرگنمایی جدید. مقدار
0، ضریب بزرگنمایی پیشفرض فعلی تب را تنظیم میکند. مقادیر بزرگتر از0یک ضریب بزرگنمایی (احتمالاً غیر پیشفرض) برای تب مشخص میکنند. - تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
): Promise<void>
تنظیمات بزرگنمایی را برای یک برگه مشخص شده تنظیم میکند، که نحوه مدیریت تغییرات بزرگنمایی را تعریف میکند. این تنظیمات پس از پیمایش برگه به مقادیر پیشفرض بازنشانی میشوند.
پارامترها
- شناسه برگه
شماره اختیاری
شناسهی برگهای که تنظیمات بزرگنمایی برای آن تغییر میکند؛ بهطور پیشفرض روی برگهی فعال پنجرهی فعلی قرار دارد.
- تنظیمات زوم
تعریف میکند که تغییرات بزرگنمایی چگونه و در چه محدودهای مدیریت شوند.
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۸۸+Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
): Promise<void>
یک یا چند تب را از گروههای مربوطه حذف میکند. اگر هر گروهی خالی شود، حذف میشود.
پارامترها
- شناسههای برگه
عدد | [عدد، ...عدد[]]
The tab ID or list of tab IDs to remove from their respective groups.
- تماس برگشتی
function optional
The
callbackparameter looks like:() => void
بازگشتها
Promise<void>
Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
): Promise<Tab | undefined>
Modifies the properties of a tab. Properties that are not specified in updateProperties are not modified.
پارامترها
- tabId
number optional
Defaults to the selected tab of the current window .
- updateProperties
شیء
- فعال
boolean optional
Whether the tab should be active. Does not affect whether the window is focused (see
windows.update). - autoDiscardable
boolean optional
Chrome 54+Whether the tab should be discarded automatically by the browser when resources are low.
- برجسته شده
boolean optional
Adds or removes the tab from the current selection.
- خاموش
boolean optional
Chrome 45+Whether the tab should be muted.
- openerTabId
number optional
The ID of the tab that opened this tab. If specified, the opener tab must be in the same window as this tab.
- سنجاق شده
boolean optional
Whether the tab should be pinned.
- انتخاب شده
boolean optional
منسوخ شدهPlease use highlighted .
Whether the tab should be selected.
- آدرس اینترنتی
string optional
A URL to navigate the tab to. JavaScript URLs are not supported; use
scripting.executeScriptinstead.
- تماس برگشتی
function optional
The
callbackparameter looks like:(tab?: Tab) => void
بازگشتها
Promise< Tab | undefined>
Chrome 88+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
رویدادها
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Fires when the active tab in a window changes. Note that the tab's URL may not be set at the time this event fired, but you can listen to onUpdated events so as to be notified when a URL is set.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(activeInfo: object) => void
- activeInfo
شیء
- tabId
شماره
The ID of the tab that has become active.
- windowId
شماره
The ID of the window the active tab changed inside of.
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
Please use tabs.onActivated .
Fires when the selected tab in a window changes. Note that the tab's URL may not be set at the time this event fired, but you can listen to tabs.onUpdated events so as to be notified when a URL is set.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, selectInfo: object) => void
- tabId
شماره
- selectInfo
شیء
- windowId
شماره
The ID of the window the selected tab changed inside of.
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Fired when a tab is attached to a window; for example, because it was moved between windows.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, attachInfo: object) => void
- tabId
شماره
- attachInfo
شیء
- newPosition
شماره
- newWindowId
شماره
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Fired when a tab is created. Note that the tab's URL and tab group membership may not be set at the time this event is fired, but you can listen to onUpdated events so as to be notified when a URL is set or the tab is added to a tab group.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Fired when a tab is detached from a window; for example, because it was moved between windows.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, detachInfo: object) => void
- tabId
شماره
- detachInfo
شیء
- oldPosition
شماره
- oldWindowId
شماره
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
Please use tabs.onHighlighted .
Fired when the highlighted or selected tabs in a window changes.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(selectInfo: object) => void
- selectInfo
شیء
- tabIds
number[]
All highlighted tabs in the window.
- windowId
شماره
The window whose tabs changed.
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Fired when the highlighted or selected tabs in a window changes.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(highlightInfo: object) => void
- highlightInfo
شیء
- tabIds
number[]
All highlighted tabs in the window.
- windowId
شماره
The window whose tabs changed.
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Fired when a tab is moved within a window. Only one move event is fired, representing the tab the user directly moved. Move events are not fired for the other tabs that must move in response to the manually-moved tab. This event is not fired when a tab is moved between windows; for details, see tabs.onDetached .
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, moveInfo: object) => void
- tabId
شماره
- moveInfo
شیء
- fromIndex
شماره
- toIndex
شماره
- windowId
شماره
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Fired when a tab is closed.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, removeInfo: object) => void
- tabId
شماره
- removeInfo
شیء
- isWindowClosing
بولی
True when the tab was closed because its parent window was closed.
- windowId
شماره
The window whose tab is closed.
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Fired when a tab is replaced with another tab due to prerendering or instant.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(addedTabId: number, removedTabId: number) => void
- addedTabId
شماره
- removedTabId
شماره
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Please use tabs.onActivated .
Fires when the selected tab in a window changes.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, selectInfo: object) => void
- tabId
شماره
- selectInfo
شیء
- windowId
شماره
The ID of the window the selected tab changed inside of.
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Fired when a tab is updated.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(tabId: number, changeInfo: object, tab: Tab) => void
- tabId
شماره
- changeInfo
شیء
- قابل شنیدن
boolean optional
Chrome 45+The tab's new audible state.
- autoDiscardable
boolean optional
Chrome 54+The tab's new auto-discardable state.
- دور انداخته شده
boolean optional
Chrome 54+The tab's new discarded state.
- favIconUrl
string optional
The tab's new favicon URL.
- یخ زده
boolean optional
Chrome 132+The tab's new frozen state.
- groupId
number optional
Chrome 88+The tab's new group.
- mutedInfo
MutedInfo optional
Chrome 46+The tab's new muted state and the reason for the change.
- سنجاق شده
boolean optional
The tab's new pinned state.
- splitViewId
number optional
Chrome 140+The tab's new Split View.
- وضعیت
TabStatus optional
The tab's loading status.
- عنوان
string optional
Chrome 48+The tab's new title.
- آدرس اینترنتی
string optional
The tab's URL if it has changed.
- تب
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Fired when a tab is zoomed.
پارامترها
- تماس برگشتی
تابع
The
callbackparameter looks like:(ZoomChangeInfo: object) => void
- ZoomChangeInfo
شیء
- newZoomFactor
شماره
- oldZoomFactor
شماره
- tabId
شماره
- zoomSettings