browser.tabs

شرح

از chrome.tabs API برای تعامل با سیستم برگه مرورگر استفاده کنید. می‌توانید از این API برای ایجاد، اصلاح، و بازآرایی برگه‌ها در مرورگر استفاده کنید.

Tabs API نه‌تنها ویژگی‌هایی برای دستکاری و مدیریت کردن برگه‌ها ارائه می‌دهد، بلکه می‌تواند زبان برگه را تشخیص دهد، نماگرفت بگیرد، و با دستورگان محتوای برگه ارتباط برقرار کند.

اجازه‌ها

اکثر ویژگی‌ها برای استفاده به هیچ اجازه‌ای نیاز ندارند. برای مثال: ایجاد برگه جدید، بار کردن مجدد برگه، پیمایش به نشانی وب دیگر، و غیره.

هنگام کار با Tabs API، توسعه‌دهندگان باید از سه اجازه مطلع باشند.

اجازه «برگه‌ها»

این اجازه دسترسی به فضای نام browser.tabs را نمی‌دهد. درعوض، به افزونه این امکان را می‌دهد که tabs.query() را درمقابل چهار ویژگی حساس در نمونه‌های tabs.Tab فراخوانی کند: 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:

browser.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    browser.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 browser.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    browser.tabs.query(queryOptions, ([tab]) => {
      if (browser.runtime.lastError)
      console.error(browser.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

بی‌صدا کردن برگه مشخص‌شده

این مثال نشان می‌دهد که چگونه یک افزونه می‌تواند وضعیت بی‌صدا را برای یک برگه خاص تغییر دهد.

  async function toggleMuteState(tabId) {
    const tab = await browser.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await browser.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    browser.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await browser.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

با کلیک کردن، برگه فعلی به اولین موقعیت منتقل می‌شود

این مثال نشان می‌دهد که چگونه می‌توان یک برگه را جابه‌جا کرد، درحالی‌که ممکن است کشیدن درحال انجام باشد یا نباشد. درحالی‌که این مثال از browser.tabs.move استفاده می‌کند، می‌توانید از همان الگوی انتظار برای تماس‌های دیگری که برگه‌ها را درحین انجام کشیدن اصلاح می‌کنند استفاده کنید.

  browser.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await browser.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);
      }
    }
  }

  browser.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    browser.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (browser.runtime.lastError) {
        const error = browser.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 browser.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await browser.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

نمونه‌های افزونه

برای مشاهده نسخه‌های نمایشی بیشتر از افزونه‌های Tabs API، هرکدام از موارد زیر را کاوش کنید:

انواع

MutedInfo

Chrome نسخه ۴۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

وضعیت بی‌صدا بودن برگه و دلیل آخرین تغییر وضعیت.

مشخصات

  • extensionId

    رشته اختیاری

    شناسه افزونه‌ای که وضعیت بی‌صدا را تغییر داده است. اگر افزونه دلیل آخرین تغییر وضعیت بی‌صدا نباشد، تنظیم نمی‌شود.

  • بی‌صدا شد

    بولی

    اینکه آیا برگه بی‌صدا شده است (از پخش صدا جلوگیری شده است). ممکن است زبانه بی‌صدا شده باشد، حتی اگر صدایی پخش نکرده باشد یا درحال‌حاضر صدایی پخش نکند. معادل با اینکه آیا نشانگر صوتی «بی‌صدا» نشان داده می‌شود یا نه.

  • دلیل

    MutedInfoReason اختیاری

    دلیل بی‌صدا یا باصدا شدن برگه. اگر وضعیت بی‌صدا بودن برگه هرگز تغییر نکرده باشد، تنظیم نمی‌شود.

MutedInfoReason

Chrome نسخه ۴۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

رویدادی که باعث تغییر وضعیت بی‌صدا شده است.

شمارشی

«کاربر»
کنش ورودی کاربر وضعیت بی‌صدا را تنظیم کرده است.

«ضبط»
ضبط برگه شروع شد، که باعث تغییر وضعیت بی‌صدا شد.

"extension"
افزونه‌ای که با فیلد extensionId شناسایی می‌شود، وضعیت بی‌صدا را تنظیم کرده است.

Tab

مشخصات

  • فعال

    بولی

    اینکه برگه در پنجره‌اش فعال است یا نه. لزوماً به این معنی نیست که پنجره متمرکز شده است.

  • audible

    بولی اختیاری

    Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸

    اینکه آیا برگه در چند ثانیه گذشته صدا تولید کرده است (اما اگر بی‌صدا هم باشد ممکن است شنیده نشود). معادل با اینکه آیا نشانگر «صدای بلندگو» نشان داده می‌شود یا نه.

  • autoDiscardable

    بولی

    Chrome نسخه ۵۴ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

    آیا وقتی منابع کم است، مرورگر می‌تواند زبانه را به‌طور خودکار کنار بگذارد.

  • نادیده گرفته شد

    بولی

    Chrome نسخه ۵۴ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

    اینکه آیا زبانه کنار گذاشته شده است یا نه. برگه دورریخته‌شده برگه‌ای است که محتوای آن از حافظه تخلیه شده است، اما هنوز در نوار برگه قابل‌مشاهده است. دفعه بعد که فعال شود، محتوای آن مجدداً بار می‌شود.

  • favIconUrl

    رشته اختیاری

    نشانی وب نماد وب‌سایت برگه. این ویژگی فقط درصورتی وجود دارد که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد. اگر برگه درحال بار شدن باشد، ممکن است رشته خالی باشد.

  • ثابت‌شده

    بولی

    Chrome 132+ browser.* از Chrome 148

    اینکه زبانه ثابت شده است یا نه. زبانه منجمدشده نمی‌تواند تکالیف را اجرا کند، ازجمله کنترل‌کننده‌های رویداد یا زمان‌سنج‌ها. در نوار برگه قابل‌مشاهده است و محتوای آن در حافظه بار شده است. با فعال‌سازی، از حالت تعلیق خارج می‌شود.

  • groupId

    شماره

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    شناسه گروهی که برگه به آن تعلق دارد.

  • ارتفاع

    شماره اختیاری

    ارتفاع برگه به پیکسل.

  • برجسته‌شده

    بولی

    اینکه برگه برجسته شده است یا نه.

  • id

    شماره اختیاری

    شناسه برگه. شناسه‌های برگه در یک جلسه مرورگر یکتا هستند. در برخی شرایط ممکن است شناسه‌ای به برگه اختصاص داده نشود؛ برای مثال، هنگام پرسمان برگه‌های خارجی بااستفاده از میانای برنامه‌سازی کاربردی sessions، که در این حالت ممکن است شناسه جلسه وجود داشته باشد. شناسه برگه را می‌توان برای برنامه‌ها و پنجره‌های devtools روی chrome.tabs.TAB_ID_NONE تنظیم کرد.

  • ناشناس

    بولی

    اینکه زبانه در پنجره ناشناس باشد یا نه.

  • شاخص

    شماره

    نمایه مبتنی بر صفر برگه در پنجره آن.

  • lastAccessed

    شماره

    Chrome 121+ browser.* از Chrome 148

    آخرین باری که برگه در پنجره‌اش فعال شد، به‌صورت تعداد میلی‌ثانیه‌ها از مبدأ زمانی.

  • mutedInfo

    MutedInfo اختیاری

    Chrome نسخه ۴۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

    وضعیت بی‌صدا بودن برگه و دلیل آخرین تغییر وضعیت.

  • openerTabId

    شماره اختیاری

    شناسه زبانه‌ای که این زبانه را باز کرده است (درصورت وجود). این ویژگی فقط درصورتی وجود دارد که برگه بازکننده هنوز وجود داشته باشد.

  • pendingUrl

    رشته اختیاری

    Chrome نسخه ۷۹ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

    نشانی وبی که برگه قبل‌از تأیید به آن هدایت می‌شود. این ویژگی فقط درصورتی وجود دارد که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد و ناوبری معلقی وجود داشته باشد.

  • پین شده

    بولی

    اینکه زبانه سنجاق شده است یا نه.

  • انتخاب‌شده

    بولی

    منسوخ‌شده

    لطفاً از tabs.Tab.highlighted استفاده کنید.

    نشان می‌دهد برگه انتخاب شده است یا نه.

  • sessionId

    رشته اختیاری

    شناسه جلسه برای شناسایی منحصربه‌فرد برگه‌ای که از sessions API به‌دست آمده است استفاده می‌شود.

  • splitViewId

    شماره اختیاری

    Chrome نسخه ۱۴۰ و بالاتر browser.* از Chrome نسخه ۱۴۸

    شناسه «نمای دونیمه» که زبانه به آن تعلق دارد.

  • وضعیت

    TabStatus اختیاری

    وضعیت بار کردن برگه.

  • عنوان

    رشته اختیاری

    عنوان برگه. این ویژگی فقط درصورتی وجود دارد که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد.

  • نشانی وب

    رشته اختیاری

    آخرین نشانی وب ثبت‌شده قاب اصلی برگه. این ویژگی فقط درصورتی وجود دارد که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد. اگر زبانه هنوز ثبت نشده باشد، ممکن است رشته خالی باشد. Tab.pendingUrl را نیز ببینید.

  • عرض

    شماره اختیاری

    عرض برگه به پیکسل.

  • windowId

    شماره

    شناسه پنجره‌ای که برگه را دربردارد.

TabStatus

Chrome نسخه ۴۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

وضعیت بار کردن برگه.

شمارشی

«unloaded»

«درحال بار کردن»

«تکمیل»

WindowType

Chrome نسخه ۴۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

نوع پنجره.

شمارشی

«عادی»

"popup"

"panel"

«برنامه»

"devtools"

ZoomSettings

تعریف می‌کند که تغییرات بزرگ‌نمایی در برگه چگونه و در چه دامنه‌ای مدیریت شود.

مشخصات

  • defaultZoomFactor

    شماره اختیاری

    Chrome نسخه ۴۳ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

    برای برگرداندن سطح بزرگ‌نمایی پیش‌فرض برای برگه فعلی در تماس‌ها با tabs.getZoomSettings استفاده می‌شود.

  • حالت حمل‌ونقل

    ZoomSettingsMode اختیاری

    تعیین می‌کند که تغییرات بزرگ‌نمایی چگونه مدیریت شود، یعنی کدام نهاد مسئول مقیاس‌بندی واقعی صفحه است؛ پیش‌فرض automatic است.

  • محدوده

    ZoomSettingsScope اختیاری

    تعیین می‌کند که آیا تغییرات بزرگ‌نمایی برای مبدأ صفحه باقی بماند یا فقط در این برگه اعمال شود؛ در حالت automatic، به‌طور پیش‌فرض روی per-origin تنظیم می‌شود و درغیراین‌صورت روی per-tab.

ZoomSettingsMode

Chrome نسخه ۴۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

تعیین می‌کند که تغییرات بزرگ‌نمایی چگونه مدیریت شود، یعنی کدام نهاد مسئول مقیاس‌بندی واقعی صفحه است؛ پیش‌فرض automatic است.

شمارشی

«خودکار»
تغییرات بزرگ‌نمایی به‌طور خودکار توسط مرورگر انجام می‌شود.

«manual»
مدیریت خودکار تغییرات بزرگ‌نمایی را لغو می‌کند. رویداد onZoomChange همچنان ارسال خواهد شد و مسئولیت گوش دادن به این رویداد و مقیاس‌بندی دستی صفحه برعهده افزونه است. این حالت از بزرگ‌نمایی per-origin پشتیبانی نمی‌کند، بنابراین تنظیم بزرگ‌نمایی scope را نادیده می‌گیرد و per-tab را فرض می‌کند.

«غیرفعال»
همه بزرگ‌نمایی‌ها را در برگه غیرفعال می‌کند. برگه به سطح بزرگ‌نمایی پیش‌فرض برمی‌گردد و همه تغییرات بزرگ‌نمایی انجام‌شده نادیده گرفته می‌شود.

ZoomSettingsScope

Chrome نسخه ۴۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

تعیین می‌کند که آیا تغییرات بزرگ‌نمایی برای مبدأ صفحه باقی بماند یا فقط در این برگه اعمال شود؛ در حالت automatic، به‌طور پیش‌فرض روی per-origin تنظیم می‌شود و درغیراین‌صورت روی per-tab.

شمارشی

«per-origin»
تغییرات بزرگ‌نمایی در مبدأ صفحه بزرگ‌نمایی‌شده باقی می‌ماند، یعنی همه برگه‌های دیگری که به همان مبدأ پیمایش می‌کنند نیز بزرگ‌نمایی می‌شوند. علاوه‌براین، تغییرات بزرگ‌نمایی per-origin با مبدأ ذخیره می‌شود، یعنی هنگام پیمایش به صفحه‌های دیگر در همان مبدأ، همه آن‌ها با همان ضریب بزرگ‌نمایی بزرگ می‌شوند. محدوده per-origin فقط در حالت automatic دردسترس است.

«per-tab»
تغییرات بزرگ‌نمایی فقط در این برگه اعمال می‌شود و تغییرات بزرگ‌نمایی در برگه‌های دیگر بر بزرگ‌نمایی این برگه تأثیر نمی‌گذارد. همچنین، per-tab تغییرات بزرگ‌نمایی در پیمایش بازنشانی می‌شود؛ پیمایش کردن برگه همیشه صفحه‌ها را با ضریب بزرگ‌نمایی per-origin بار می‌کند.

مشخصات

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome نسخه ۹۲ و بالاتر browser.* از Chrome نسخه ۱۴۸

حداکثر تعداد دفعاتی که می‌توان captureVisibleTab را در هر ثانیه فراخوانی کرد. captureVisibleTab گران است و نباید زیاد فراخوانی شود.

مقدار

۲

SPLIT_VIEW_ID_NONE

Chrome نسخه ۱۴۰ و بالاتر browser.* از Chrome نسخه ۱۴۸

شناسه‌ای که نشان‌دهنده عدم وجود برگه تقسیم است.

مقدار

‫-۱

TAB_ID_NONE

Chrome نسخه ۴۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

شناسه‌ای که نشان‌دهنده عدم وجود برگه مرورگر است.

مقدار

‫-۱

TAB_INDEX_NONE

Chrome 123+ browser.* از Chrome 148

نمایه‌ای که نشان‌دهنده عدم وجود نمایه برگه در tab_strip است.

مقدار

‫-۱

روش‌ها

captureVisibleTab()

browser.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

ناحیه نمایان زبانه فعال فعلی را در پنجره مشخص‌شده ضبط می‌کند. برای فراخوانی این روش، افزونه باید اجازه <all_urls> یا اجازه activeTab را داشته باشد. علاوه‌بر سایت‌هایی که افزونه‌ها معمولاً می‌توانند به آن‌ها دسترسی داشته باشند، این روش به افزونه‌ها اجازه می‌دهد سایت‌های حساسی را که درغیراین‌صورت محدود شده‌اند ضبط کنند، ازجمله صفحه‌های chrome:-scheme، صفحه‌های افزونه‌های دیگر، و نشانی‌های وب data:. این سایت‌های حساس را فقط می‌توان با اجازه activeTab ضبط کرد. نشانی‌های وب فایل ممکن است فقط درصورتی ضبط شود که به افزونه اجازه دسترسی به فایل داده شده باشد.

پارامترها

  • windowId

    شماره اختیاری

    پنجره مقصد. به‌طور پیش‌فرض روی پنجره فعلی تنظیم شده است.

  • گزینه‌ها

    ImageDetails اختیاری

بازگشتی‌ها

  • Promise<string>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

connect()

browser.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

به اسکریپت(های) محتوا در برگه مشخص‌شده متصل می‌شود. رویداد runtime.onConnect در هر اسکریپت محتوایی که در برگه مشخص‌شده برای افزونه فعلی اجرا می‌شود، فعال می‌شود. برای جزئیات بیشتر، پیام‌رسانی اسکریپت محتوا را ببینید.

پارامترها

  • tabId

    شماره

  • connectInfo

    شیء اختیاری

    • documentId

      رشته اختیاری

      Chrome نسخه ۱۰۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

      درگاهی را برای سند خاصی که با documentId شناسایی شده است باز کنید، نه برای همه قاب‌های موجود در برگه.

    • frameId

      شماره اختیاری

      درگاهی را برای قاب خاصی که با frameId شناسایی می‌شود باز کنید، نه برای همه قاب‌های موجود در برگه.

    • نام

      رشته اختیاری

      به onConnect برای اسکریپت‌های محتوایی که به رویداد اتصال گوش می‌دهند منتقل می‌شود.

بازگشتی‌ها

  • درگاهی که می‌تواند برای برقراری ارتباط با اسکریپت‌های محتوای درحال اجرا در برگه مشخص‌شده استفاده شود. اگر برگه بسته شود یا وجود نداشته باشد، رویداد runtime.Port درگاه فعال می‌شود.

create()

browser.tabs.create(
  createProperties: object,
)
: Promise<Tab>

زبانه جدیدی ایجاد می‌کند.

پارامترها

  • createProperties

    شیء

    • فعال

      بولی اختیاری

      آیا زبانه باید به زبانه فعال در پنجره تبدیل شود یا نه. بر اینکه پنجره متمرکز باشد یا نه تأثیری ندارد (windows.update را ببینید). پیش‌فرض true است.

    • شاخص

      شماره اختیاری

      جایگاهی که برگه باید در پنجره داشته باشد. مقدار ارائه‌شده به بین صفر و تعداد برگه‌های پنجره محدود شده است.

    • openerTabId

      شماره اختیاری

      شناسه زبانه‌ای که این زبانه را باز کرده است. درصورت مشخص شدن، زبانه بازکننده باید در همان پنجره زبانه جدیداً ایجادشده باشد.

    • پین شده

      بولی اختیاری

      آیا زبانه باید سنجاق شود یا نه. پیش‌فرض‌ها به false

    • انتخاب‌شده

      بولی اختیاری

      منسوخ‌شده

      لطفاً از فعال استفاده کنید.

      آیا برگه باید به برگه انتخاب‌شده در پنجره تبدیل شود. پیش‌فرض‌ها به true

    • splitWithTabId

      شماره اختیاری

      Chrome نسخه ۱۵۵ و بالاتر

      شناسه زبانه موجود برای ایجاد نمای تقسیم‌شده با آن. درصورت مشخص شدن، برگه تقسیم‌شده باید شرایط زیر را داشته باشد:

      • نباید برگه‌ای باشد که قبلاً تقسیم شده است.
      • باید در همان پنجره‌ای باشد که زبانه جدید ایجاد شده است.
      • اگر windowId مشخص شده باشد، باید با شناسه پنجره برگه تقسیم‌شده یکسان باشد.
      • اگر index مشخص شده باشد، باید نمایه‌ای مجاور برگه تقسیم‌شده باشد و بر موقعیت نسبی برگه جدیداً ایجادشده تأثیر خواهد گذاشت.
    • نشانی وب

      رشته اختیاری

      نشانی وب برای پیمایش اولیه زبانه به آن. نشانی‌های وب کاملاً واجد شرایط باید شامل طرح باشند (یعنی، «http://www.google.com»، نه «www.google.com»). نشانی‌های وب نسبی نسبت به صفحه فعلی در افزونه نسبی هستند. به‌طور پیش‌فرض صفحه «برگه جدید» باز می‌شود.

    • windowId

      شماره اختیاری

      پنجره‌ای که برگه جدید در آن ایجاد می‌شود. به‌طور پیش‌فرض روی پنجره فعلی تنظیم شده است.

بازگشتی‌ها

  • Promise<Tab>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

createSplit()

Chrome نسخه ۱۵۵ و بالاتر
browser.tabs.createSplit(
  tabIds: [number, number],
)
: Promise<number>

دو زبانه موجود را به «نمای دونیمه» تقسیم می‌کند.

پارامترها

  • tabIds

    [number, number]

    آرایه‌ای از دقیقاً دو شناسه زبانه برای جفت کردن در «نمای دونیمه». همه برگه‌ها باید شرایط زیر را داشته باشند:

    باید مجاور باشند. نباید ازقبل در نمای دونیمه باشند. باید وضعیت‌های windowId،‏ pinned، و groupId منطبق داشته باشند.

بازگشتی‌ها

  • Promise<number>

detectLanguage()

browser.tabs.detectLanguage(
  tabId?: number,
)
: Promise<string>

زبان اصلی محتوای برگه را تشخیص می‌دهد.

پارامترها

  • tabId

    شماره اختیاری

    به‌طور پیش‌فرض روی زبانه فعال پنجره فعلی تنظیم شده است.

بازگشتی‌ها

  • Promise<string>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

discard()

Chrome نسخه ۵۴ و بالاتر browser.* از Chrome نسخه ۱۴۸
browser.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

زبانه‌ای را از حافظه حذف می‌کند. برگه‌های دورریخته‌شده همچنان در نوار برگه نمایان هستند و هنگام فعال شدن مجدداً بار می‌شوند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه زبانه‌ای که باید دور انداخته شود. اگر مشخص شده باشد، زبانه کنار گذاشته می‌شود مگراینکه فعال باشد یا قبلاً کنار گذاشته شده باشد. اگر حذف شود، مرورگر کم‌اهمیت‌ترین برگه را کنار می‌گذارد. اگر زبانه دورانداختنی وجود نداشته باشد، ممکن است این کار ناموفق باشد.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    پس‌از تکمیل عملیات، حل‌وفصل می‌شود.

duplicate()

browser.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

برگه‌ای را تکرار می‌کند.

پارامترها

  • tabId

    شماره

    شناسه برگه‌ای که باید تکرار شود.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

get()

browser.tabs.get(
  tabId: number,
)
: Promise<Tab>

جزئیات مربوط به برگه مشخص‌شده را بازیابی می‌کند.

پارامترها

  • tabId

    شماره

بازگشتی‌ها

  • Promise<Tab>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

getCurrent()

browser.tabs.getCurrent(): Promise<Tab | undefined>

برگه‌ای را که این فراخوانی دستور از آن انجام می‌شود دریافت می‌کند. اگر از بافت غیربرگه‌ای (مثلاً صفحه پس‌زمینه یا نمای بالاپر) فراخوانی شود، undefined را برمی‌گرداند.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

getZoom()

browser.tabs.getZoom(
  tabId?: number,
)
: Promise<number>

ضریب بزرگ‌نمایی فعلی برگه مشخص‌شده را دریافت می‌کند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه زبانه‌ای که ضریب بزرگ‌نمایی فعلی از آن دریافت می‌شود؛ به‌طور پیش‌فرض زبانه فعال پنجره فعلی است.

بازگشتی‌ها

  • Promise<number>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    با ضریب بزرگ‌نمایی فعلی برگه پس‌از واکشی آن حل می‌شود.

getZoomSettings()

browser.tabs.getZoomSettings(
  tabId?: number,
)
: Promise<ZoomSettings>

تنظیمات بزرگ‌نمایی فعلی برگه مشخص‌شده را دریافت می‌کند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه برای دریافت تنظیمات بزرگ‌نمایی فعلی؛ به‌طور پیش‌فرض روی برگه فعال پنجره فعلی تنظیم شده است.

بازگشتی‌ها

  • Promise<ZoomSettings>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    با تنظیمات بزرگ‌نمایی فعلی برگه حل می‌شود.

goBack()

Chrome 72+ browser.* از Chrome 148
browser.tabs.goBack(
  tabId?: number,
)
: Promise<void>

به صفحه قبلی بروید، اگر صفحه‌ای دردسترس باشد.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه‌ای که باید به آن برگردید؛ به‌طور پیش‌فرض برگه انتخاب‌شده پنجره فعلی است.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

goForward()

Chrome 72+ browser.* از Chrome 148
browser.tabs.goForward(
  tabId?: number,
)
: Promise<void>

به صفحه بعدی بروید (درصورت وجود).

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه‌ای که باید به جلو پیمایش شود؛ به‌طور پیش‌فرض برگه انتخاب‌شده پنجره فعلی است.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

group()

Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸
browser.tabs.group(
  options: object,
)
: Promise<number>

یک یا چند برگه را به گروه مشخص‌شده‌ای اضافه می‌کند، یا اگر گروهی مشخص نشده باشد، برگه‌های داده‌شده را به گروه جدیدی که ایجاد شده است اضافه می‌کند.

پارامترها

  • گزینه‌ها

    شیء

    • createProperties

      شیء اختیاری

      پیکربندی‌های ایجاد گروه. اگر groupId ازقبل مشخص شده باشد، نمی‌توان از آن استفاده کرد.

      • windowId

        شماره اختیاری

        پنجره گروه جدید. به‌طور پیش‌فرض روی پنجره فعلی تنظیم شده است.

    • groupId

      شماره اختیاری

      شناسه گروهی که برگه‌ها به آن اضافه می‌شود. اگر مشخص نشده باشد، گروه جدیدی ایجاد خواهد شد.

    • tabIds

      number | [number, ...number[]]

      شناسه برگه یا فهرست شناسه‌های برگه برای افزودن به گروه مشخص‌شده.

بازگشتی‌ها

  • Promise<number>

highlight()

browser.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

برگه‌های داده‌شده را برجسته می‌کند و روی اولین برگه گروه کانونی می‌شود. اگر برگه مشخص‌شده درحال‌حاضر فعال باشد، به‌نظر می‌رسد کاری انجام نمی‌شود.

پارامترها

  • highlightInfo

    شیء

    • tabs

      number | number[]

      یک یا چند نمایه زبانه برای برجسته کردن.

    • windowId

      شماره اختیاری

      پنجره‌ای که حاوی زبانه‌ها است.

بازگشتی‌ها

  • Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

move()

browser.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

یک یا چند برگه را به موقعیت جدیدی در پنجره خود یا به پنجره جدیدی منتقل می‌کند. توجه داشته باشید که برگه‌ها فقط می‌توانند به پنجره‌های عادی (window.type === "normal") منتقل شوند یا از آن‌ها خارج شوند.

پارامترها

  • tabIds

    number | number[]

    شناسه برگه یا فهرست شناسه‌های برگه برای جابه‌جا کردن.

  • moveProperties

    شیء

    • شاخص

      شماره

      موقعیتی که پنجره به آن منتقل می‌شود. از -1 برای قرار دادن برگه در انتهای پنجره استفاده کنید.

    • windowId

      شماره اختیاری

      به‌طور پیش‌فرض به پنجره‌ای که برگه درحال‌حاضر در آن قرار دارد می‌رود.

بازگشتی‌ها

  • Promise<Tab | Tab[]>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

query()

browser.tabs.query(
  queryInfo: object,
)
: Promise<Tab[]>

همه برگه‌هایی را که ویژگی‌های مشخص‌شده دارند، یا همه برگه‌ها را درصورتی‌که ویژگی‌ای مشخص نشده باشد، دریافت می‌کند.

پارامترها

  • queryInfo

    شیء

    • فعال

      بولی اختیاری

      اینکه برگه‌ها در پنجره‌هایشان فعال هستند یا نه.

    • audible

      بولی اختیاری

      Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸

      آیا زبانه‌ها شنیدنی هستند یا نه.

    • autoDiscardable

      بولی اختیاری

      Chrome نسخه ۵۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

      آیا وقتی منابع کم است، برگه‌ها می‌توانند به‌طور خودکار توسط مرورگر کنار گذاشته شوند.

    • currentWindow

      بولی اختیاری

      آیا زبانه‌ها در پنجره فعلی هستند.

    • نادیده گرفته شد

      بولی اختیاری

      Chrome نسخه ۵۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

      آیا برگه‌ها دور انداخته شده‌اند. برگه دورانداخته‌شده برگه‌ای است که محتوای آن از حافظه تخلیه شده است، اما هنوز در نوار برگه قابل‌مشاهده است. دفعه بعد که فعال شود، محتوای آن مجدداً بار می‌شود.

    • ثابت‌شده

      بولی اختیاری

      Chrome 132+ browser.* از Chrome 148

      اینکه زبانه‌ها ثابت شده‌اند یا نه. زبانه منجمدشده نمی‌تواند تکالیف را اجرا کند، ازجمله کنترل‌کننده‌های رویداد یا زمان‌سنج‌ها. در نوار برگه قابل‌مشاهده است و محتوای آن در حافظه بار شده است. با فعال‌سازی، از حالت تعلیق خارج می‌شود.

    • groupId

      شماره اختیاری

      Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

      شناسه گروهی که زبانه‌ها در آن قرار دارند، یا tabGroups.TAB_GROUP_ID_NONE برای زبانه‌های بدون گروه.

    • برجسته‌شده

      بولی اختیاری

      اینکه آیا برگه‌ها برجسته شده‌اند یا نه.

    • شاخص

      شماره اختیاری

      موقعیت زبانه‌ها در پنجره‌هایشان.

    • lastFocusedWindow

      بولی اختیاری

      آیا زبانه‌ها در آخرین پنجره متمرکزشده هستند یا نه.

    • بی‌صدا شد

      بولی اختیاری

      Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸

      اینکه زبانه‌ها بی‌صدا هستند یا نه.

    • پین شده

      بولی اختیاری

      اینکه زبانه‌ها سنجاق شده‌اند یا نه.

    • splitViewId

      شماره اختیاری

      Chrome نسخه ۱۴۰ و بالاتر browser.* از Chrome نسخه ۱۴۸

      شناسه «نمای دونیمه» که زبانه‌ها در آن قرار دارند، یا tabs.SPLIT_VIEW_ID_NONE برای زبانه‌هایی که در «نمای دونیمه» نیستند.

    • وضعیت

      TabStatus اختیاری

      وضعیت بار کردن برگه.

    • عنوان

      رشته اختیاری

      عنوان‌های صفحه را با الگویی مطابقت دهید. اگر افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه نداشته باشد، این ویژگی نادیده گرفته می‌شود.

    • نشانی وب

      رشته | رشته[] اختیاری

      زبانه‌ها را با یک یا چند الگوی نشانی وب مطابقت دهید. شناسه‌های قطعه مطابقت ندارند. اگر افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه نداشته باشد، این ویژگی نادیده گرفته می‌شود.

    • windowId

      شماره اختیاری

      شناسه پنجره اصلی، یا windows.WINDOW_ID_CURRENT برای پنجره فعلی.

    • windowType

      WindowType اختیاری

      نوع پنجره‌ای که زبانه‌ها در آن قرار دارند.

بازگشتی‌ها

  • Promise<Tab[]>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

reload()

browser.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

بار کردن مجدد زبانه.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه برای بار کردن مجدد؛ به‌طور پیش‌فرض برگه انتخاب‌شده پنجره فعلی است.

  • reloadProperties

    شیء اختیاری

    • bypassCache

      بولی اختیاری

      آیا حافظه پنهان محلی دور زده شود یا نه. پیش‌فرض‌ها به false.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

remove()

browser.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

یک یا چند برگه را می‌بندد.

پارامترها

  • tabIds

    number | number[]

    شناسه برگه یا فهرست شناسه‌های برگه برای بستن.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

sendMessage()

browser.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
)
: Promise<any>

یک پیام به اسکریپت(های) محتوا در برگه مشخص‌شده ارسال می‌کند. رویداد runtime.onMessage در هر اسکریپت محتوایی که در برگه مشخص‌شده برای افزونه فعلی اجرا می‌شود، فعال می‌شود.

پارامترها

  • tabId

    شماره

  • پیام

    همه

    پیام برای ارسال. این پیام باید شیء JSON-ifiable باشد.

  • گزینه‌ها

    شیء اختیاری

    • documentId

      رشته اختیاری

      Chrome نسخه ۱۰۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

      ارسال پیام به سند خاصی که با documentId شناسایی شده است، به‌جای همه قاب‌های برگه.

    • frameId

      شماره اختیاری

      ارسال پیام به قاب خاصی که با frameId شناسایی می‌شود به‌جای همه قاب‌های موجود در برگه.

بازگشتی‌ها

  • Promise<any>

    Chrome نسخه ۹۹ و بالاتر browser.* از Chrome نسخه ۱۴۸

    قولی که با پاسخ از دستورگان محتوا حل می‌شود. اگر هنگام اتصال به برگه مشخص‌شده خطایی رخ دهد، promise رد خواهد شد.

setZoom()

browser.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
)
: Promise<void>

برگه مشخص‌شده را بزرگ‌نمایی می‌کند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه زبانه‌ای که باید بزرگ‌نمایی شود؛ به‌طور پیش‌فرض زبانه فعال پنجره فعلی است.

  • zoomFactor

    شماره

    عامل بزرگ‌نمایی جدید. مقدار 0 زبانه را روی ضریب بزرگ‌نمایی پیش‌فرض فعلی آن تنظیم می‌کند. مقادیر بزرگ‌تر از 0 ضریب بزرگ‌نمایی (احتمالاً غیرپیش‌فرض) را برای برگه مشخص می‌کند.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    پس‌از تغییر ضریب بزرگ‌نمایی، حل‌وفصل می‌شود.

setZoomSettings()

browser.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
)
: Promise<void>

تنظیمات بزرگ‌نمایی را برای برگه مشخص‌شده تنظیم می‌کند، که نحوه مدیریت تغییرات بزرگ‌نمایی را تعریف می‌کند. این تنظیمات هنگام پیمایش برگه به پیش‌فرض‌ها بازنشانی می‌شوند.

پارامترها

  • tabId

    شماره اختیاری

    شناسه برگه برای تغییر تنظیمات بزرگ‌نمایی؛ به‌طور پیش‌فرض برگه فعال پنجره فعلی است.

  • zoomSettings

    تعریف می‌کند که تغییرات بزرگ‌نمایی چگونه و در چه دامنه‌ای مدیریت شوند.

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

    پس‌از تغییر تنظیمات بزرگ‌نمایی برطرف می‌شود.

ungroup()

Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸
browser.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

یک یا چند برگه را از گروه‌های مربوطه‌شان برمی‌دارد. اگر گروهی خالی شود، حذف می‌شود.

پارامترها

  • tabIds

    number | [number, ...number[]]

    شناسه زبانه یا فهرست شناسه‌های زبانه برای برداشتن از گروه‌های مربوطه.

بازگشتی‌ها

  • Promise<void>

unsplit()

Chrome نسخه ۱۵۵ و بالاتر
browser.tabs.unsplit(
  splitViewId: number,
)
: Promise<void>

زبانه‌ها را در «نمای دونیمه» به زبانه‌های مستقل تفکیک می‌کند.

پارامترها

  • splitViewId

    شماره

    شناسه «نمای دونیمه» برای جدا کردن.

بازگشتی‌ها

  • Promise<void>

update()

browser.tabs.update(
  tabId?: number,
  updateProperties: object,
)
: Promise<Tab | undefined>

ویژگی‌های برگه را تغییر می‌دهد. مشخصاتی که در updateProperties مشخص نشده‌اند اصلاح نمی‌شوند.

پارامترها

  • tabId

    شماره اختیاری

    به‌طور پیش‌فرض روی برگه انتخاب‌شده پنجره فعلی تنظیم شده است.

  • updateProperties

    شیء

    • فعال

      بولی اختیاری

      آیا برگه باید فعال باشد یا نه. بر اینکه پنجره در کانون توجه باشد یا نه تأثیری ندارد (windows.update را ببینید).

    • autoDiscardable

      بولی اختیاری

      Chrome نسخه ۵۴ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

      اینکه آیا وقتی منابع کم است، برگه باید به‌طور خودکار توسط مرورگر کنار گذاشته شود یا نه.

    • برجسته‌شده

      بولی اختیاری

      برگه را به انتخاب فعلی اضافه می‌کند یا از آن برمی‌دارد.

    • بی‌صدا شد

      بولی اختیاری

      Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸

      آیا برگه باید بی‌صدا شود یا نه.

    • openerTabId

      شماره اختیاری

      شناسه زبانه‌ای که این زبانه را باز کرده است. اگر مشخص شده باشد، زبانه بازکننده باید در همان پنجره این زبانه باشد.

    • پین شده

      بولی اختیاری

      آیا زبانه باید سنجاق شود یا نه.

    • انتخاب‌شده

      بولی اختیاری

      منسوخ‌شده

      لطفاً از برجسته استفاده کنید.

      اینکه برگه باید انتخاب شود یا نه.

    • نشانی وب

      رشته اختیاری

      نشانی وبی که برگه به آن پیمایش می‌کند. نشانی‌های وب جاوا اسکریپت پشتیبانی نمی‌شود؛ به‌جای آن از scripting.executeScript استفاده کنید.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

رویدادها

onActivated

browser.tabs.onActivated.addListener(
  callback: function,
)

وقتی زبانه فعال در پنجره تغییر می‌کند، فعال می‌شود. توجه داشته باشید که ممکن است نشانی وب برگه در زمان فعال شدن این رویداد تنظیم نشده باشد، اما می‌توانید به رویدادهای onUpdated گوش دهید تا هنگام تنظیم نشانی وب مطلع شوید.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (activeInfo: object) => void

    • activeInfo

      شیء

      • tabId

        شماره

        شناسه زبانه‌ای که فعال شده است.

      • windowId

        شماره

        شناسه پنجره‌ای که زبانه فعال در آن تغییر کرده است.

onAttached

browser.tabs.onAttached.addListener(
  callback: function,
)

وقتی برگه‌ای به پنجره‌ای پیوست می‌شود، فعال می‌شود؛ برای مثال، چون بین پنجره‌ها جابه‌جا شده است.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tabId: number, attachInfo: object) => void

    • tabId

      شماره

    • attachInfo

      شیء

      • newPosition

        شماره

      • newWindowId

        شماره

onCreated

browser.tabs.onCreated.addListener(
  callback: function,
)

وقتی زبانه‌ای ایجاد می‌شود، فعال می‌شود. توجه داشته باشید که نشانی وب برگه، عضویت در گروه برگه، و عضویت در نمای تقسیم‌شده ممکن است در زمان فعال شدن این رویداد تنظیم نشود، اما می‌توانید به رویدادهای onUpdated گوش دهید تا هنگام تنظیم نشانی وب یا اضافه شدن برگه به گروه برگه یا نمای تقسیم‌شده مطلع شوید.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tab: Tab) => void

onDetached

browser.tabs.onDetached.addListener(
  callback: function,
)

وقتی برگه‌ای از پنجره جدا می‌شود، مثلاً به‌دلیل جابه‌جایی بین پنجره‌ها، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tabId: number, detachInfo: object) => void

    • tabId

      شماره

    • detachInfo

      شیء

      • oldPosition

        شماره

      • oldWindowId

        شماره

onHighlighted

browser.tabs.onHighlighted.addListener(
  callback: function,
)

وقتی زبانه‌های برجسته‌شده یا انتخاب‌شده در پنجره تغییر می‌کند، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (highlightInfo: object) => void

    • highlightInfo

      شیء

      • tabIds

        عدد[]

        همه برگه‌های برجسته‌شده در پنجره.

      • windowId

        شماره

        پنجره‌ای که زبانه‌های آن تغییر کرده است.

onMoved

browser.tabs.onMoved.addListener(
  callback: function,
)

وقتی برگه‌ای در پنجره‌ای جابه‌جا می‌شود، فعال می‌شود. فقط یک رویداد جابه‌جایی اجرا می‌شود که نشان‌دهنده برگه‌ای است که کاربر مستقیماً جابه‌جا کرده است. رویدادهای انتقال برای برگه‌های دیگری که باید در پاسخ به برگه منتقل‌شده به‌صورت دستی منتقل شوند، اجرا نمی‌شوند. وقتی زبانه‌ای بین پنجره‌ها جابه‌جا می‌شود، این رویداد اجرا نمی‌شود؛ برای جزئیات، tabs.onDetached را ببینید.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tabId: number, moveInfo: object) => void

    • tabId

      شماره

    • moveInfo

      شیء

      • fromIndex

        شماره

      • toIndex

        شماره

      • windowId

        شماره

onRemoved

browser.tabs.onRemoved.addListener(
  callback: function,
)

وقتی برگه‌ای بسته می‌شود، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tabId: number, removeInfo: object) => void

    • tabId

      شماره

    • removeInfo

      شیء

      • isWindowClosing

        بولی

        وقتی برگه بسته شده باشد چون پنجره اصلی آن بسته شده است، درست است.

      • windowId

        شماره

        پنجره‌ای که برگه آن بسته شده است.

onReplaced

browser.tabs.onReplaced.addListener(
  callback: function,
)

وقتی برگه‌ای به‌دلیل پیش‌پرداز یا فوری با برگه دیگری جایگزین می‌شود، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      شماره

    • removedTabId

      شماره

onUpdated

browser.tabs.onUpdated.addListener(
  callback: function,
)

وقتی زبانه‌ای به‌روز می‌شود، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      شماره

    • changeInfo

      شیء

      • audible

        بولی اختیاری

        Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸

        وضعیت شنیداری جدید برگه.

      • autoDiscardable

        بولی اختیاری

        Chrome نسخه ۵۴ و بالاتر browser.* از Chrome نسخه ۱۴۸

        وضعیت جدید برگه برای دور انداختن خودکار.

      • نادیده گرفته شد

        بولی اختیاری

        Chrome نسخه ۵۴ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

        وضعیت جدید برگه دور انداخته‌شده.

      • favIconUrl

        رشته اختیاری

        نشانی وب نماد وب‌سایت جدید برگه.

      • ثابت‌شده

        بولی اختیاری

        Chrome 132+ browser.* از Chrome 148

        وضعیت جدید زبانه منجمدشده.

      • groupId

        شماره اختیاری

        Chrome نسخه ۸۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

        گروه جدید برگه.

      • mutedInfo

        MutedInfo اختیاری

        Chrome نسخه ۴۶ و بالاتر browser.* ‎ از Chrome نسخه ۱۴۸

        وضعیت بی‌صدای جدید برگه و دلیل تغییر.

      • پین شده

        بولی اختیاری

        وضعیت سنجاق‌شده جدید برگه.

      • splitViewId

        شماره اختیاری

        Chrome نسخه ۱۴۰ و بالاتر browser.* از Chrome نسخه ۱۴۸

        «نمای دونیمه» جدید زبانه.

      • وضعیت

        TabStatus اختیاری

        وضعیت بار کردن برگه.

      • عنوان

        رشته اختیاری

        Chrome نسخه ۴۸ و بالاتر browser.* از Chrome نسخه ۱۴۸

        عنوان جدید برگه.

      • نشانی وب

        رشته اختیاری

        نشانی وب برگه درصورت تغییر.

    • جهش

onZoomChange

browser.tabs.onZoomChange.addListener(
  callback: function,
)

وقتی زبانه زوم می‌شود، فعال می‌شود.

پارامترها

  • بازخوانی

    عملکرد

    پارامتر callback به‌این‌صورت است:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      شیء

      • newZoomFactor

        شماره

      • oldZoomFactor

        شماره

      • tabId

        شماره

      • zoomSettings