chrome.tabs

refresh date: 2026-09-25 robots: noindex

شرح

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

نمای کلی

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

اجازه‌ها

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

هنگام کار با 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"
    ],
    ...
  }

موارد استفاده

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

باز کردن صفحه افزونه در زبانه جدید

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

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

Chrome نسخه ۴۶ و بالاتر

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

مشخصات

  • extensionId

    رشته اختیاری

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

  • بی‌صدا شد

    بولی

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

  • دلیل

    MutedInfoReason اختیاری

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

MutedInfoReason

Chrome نسخه ۴۶ و بالاتر

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

شمارشی

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

"capture"
Tab capture was started, forcing a muted state change.

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

Tab

مشخصات

  • فعال

    بولی

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

  • audible

    بولی اختیاری

    Chrome نسخه ۴۵ به بالا

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

  • autoDiscardable

    بولی

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

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

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

    بولی

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

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

  • favIconUrl

    رشته اختیاری

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

  • ثابت‌شده

    بولی

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

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

  • groupId

    شماره

    Chrome نسخه ۸۸ و بالاتر

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

  • ارتفاع

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

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

  • برجسته‌شده

    بولی

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

  • id

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

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

  • ناشناس

    بولی

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

  • شاخص

    شماره

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

  • lastAccessed

    شماره

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

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

  • mutedInfo

    MutedInfo اختیاری

    Chrome نسخه ۴۶ و بالاتر

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

  • openerTabId

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

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

  • pendingUrl

    رشته اختیاری

    Chrome نسخه ۷۹ و بالاتر

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

  • پین شده

    بولی

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

  • انتخاب‌شده

    بولی

    منسوخ‌شده

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

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

  • sessionId

    رشته اختیاری

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

  • splitViewId

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

    Chrome نسخه ۱۴۰ به بالا

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

  • وضعیت

    TabStatus اختیاری

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

  • عنوان

    رشته اختیاری

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

  • نشانی وب

    رشته اختیاری

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

  • عرض

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

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

  • windowId

    شماره

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

TabStatus

Chrome نسخه ۴۴ به بالا

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

شمارشی

«unloaded»

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

«تکمیل»

WindowType

Chrome نسخه ۴۴ به بالا

نوع پنجره.

شمارشی

«عادی»

"popup"

"panel"

«برنامه»

"devtools"

ZoomSettings

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

مشخصات

  • defaultZoomFactor

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

    Chrome نسخه ۴۳ و بالاتر

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

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

    ZoomSettingsMode اختیاری

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

  • محدوده

    ZoomSettingsScope اختیاری

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

ZoomSettingsMode

Chrome نسخه ۴۴ به بالا

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

شمارشی

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

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

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

ZoomSettingsScope

Chrome نسخه ۴۴ به بالا

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

شمارشی

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

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

مشخصات

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome نسخه ۹۲ و بالاتر

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

مقدار

۲

SPLIT_VIEW_ID_NONE

Chrome نسخه ۱۴۰ به بالا

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

مقدار

‫-۱

TAB_ID_NONE

Chrome نسخه ۴۶ و بالاتر

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

مقدار

‫-۱

TAB_INDEX_NONE

Chrome نسخه ۱۲۳ به بالا

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

مقدار

‫-۱

روش‌ها

captureVisibleTab()

قول
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

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

پارامترها

  • windowId

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

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

  • گزینه‌ها

    ImageDetails اختیاری

  • تماس برگشتی

    تابع اختیاری

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

    (dataUrl: string) => void

    • dataUrl

      رشته

      نشانی وب داده‌ای که تصویری از ناحیه قابل‌مشاهده برگه ضبط‌شده را کدبندی می‌کند. ممکن است به ویژگی «src» عنصر HTML img برای نمایش اختصاص داده شود.

بازگشتی‌ها

  • Promise<string>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

connect()

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

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

پارامترها

  • tabId

    شماره

  • connectInfo

    شیء اختیاری

    • documentId

      رشته اختیاری

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

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

    • frameId

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

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

    • نام

      رشته اختیاری

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

بازگشتی‌ها

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

create()

قول
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

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

پارامترها

  • createProperties

    شیء

    • فعال

      بولی اختیاری

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

    • شاخص

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

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

    • openerTabId

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

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

    • پین شده

      بولی اختیاری

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

    • انتخاب‌شده

      بولی اختیاری

      منسوخ‌شده

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

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

    • splitWithTabId

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

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

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

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

      رشته اختیاری

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

    • windowId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (tab: Tab) => void

    • جهش

      زبانه ایجادشده.

بازگشتی‌ها

  • Promise<Tab>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

createSplit()

Promise Chrome 155+
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

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

پارامترها

  • tabIds

    [number, number]

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (splitViewId: number) => void

    • splitViewId

      شماره

      شناسه «نمای دونیمه» جدیداً ایجادشده که حاوی زبانه‌های مشخص‌شده است.

بازگشتی‌ها

  • Promise<number>

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

detectLanguage()

قول
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (language: string) => void

    • زبان

      رشته

      کد زبان ISO مانند en یا fr. برای مشاهده فهرست کامل زبان‌های پشتیبانی‌شده توسط این روش، به kLanguageInfoTable مراجعه کنید. ستون‌های دوم تا چهارم بررسی می‌شوند و اولین مقدار غیرتهی برگردانده می‌شود، به‌جز برای چینی ساده‌شده که zh-CN برگردانده می‌شود. برای زبان ناشناخته/ تعریف‌نشده، und برگردانده می‌شود.

بازگشتی‌ها

  • Promise<string>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

discard()

Promise Chrome 54+
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)
: Promise<Tab | undefined>

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

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (tab?: Tab) => void

    • جهش

      برگه اختیاری

      برگه دورریخته‌شده، اگر باموفقیت دور ریخته شده باشد؛ درغیراین‌صورت، تعریف‌نشده.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر

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

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

duplicate()

قول
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

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

پارامترها

  • tabId

    شماره

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

  • تماس برگشتی

    تابع اختیاری

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

    (tab?: Tab) => void

    • جهش

      برگه اختیاری

      جزئیات مربوط به برگه تکراری. ویژگی‌های url، pendingUrl، title، و favIconUrl فقط درصورتی در شیء tabs.Tab گنجانده می‌شوند که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

executeScript()

Promise &leq; MV2 از Chrome 91 منسوخ شده است
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

در «مانیفست نسخه ۳»، scripting.executeScript جایگزین آن شده است.

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

پارامترها

  • tabId

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

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

  • جزئیات

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

  • تماس برگشتی

    تابع اختیاری

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

    (result?: any[]) => void

    • نتیجه

      any[] اختیاری

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

بازگشتی‌ها

  • Promise<any[] | undefined>

    Chrome نسخه ۸۸ و بالاتر

    پس‌از اجرای همه جاوا اسکریپت‌ها حل‌وفصل می‌شود.

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

get()

قول
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

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

پارامترها

  • tabId

    شماره

  • تماس برگشتی

    تابع اختیاری

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

    (tab: Tab) => void

بازگشتی‌ها

  • Promise<Tab>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getAllInWindow()

Promise &leq; MV2 منسوخ‌شده
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

لطفاً از tabs.query {windowId: windowId} استفاده کنید.

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

پارامترها

  • windowId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (tabs: Tab[]) => void

بازگشتی‌ها

  • Promise<Tab[]>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getCurrent()

قول
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

پارامترها

  • تماس برگشتی

    تابع اختیاری

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

    (tab?: Tab) => void

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getSelected()

Promise &leq; MV2 منسوخ‌شده
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

لطفاً از tabs.query {active: true} استفاده کنید.

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

پارامترها

  • windowId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (tab: Tab) => void

بازگشتی‌ها

  • Promise<Tab>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getZoom()

قول
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (zoomFactor: number) => void

    • zoomFactor

      شماره

      ضریب بزرگ‌نمایی فعلی زبانه.

بازگشتی‌ها

  • Promise<number>

    Chrome نسخه ۸۸ و بالاتر

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

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

getZoomSettings()

قول
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

بازگشتی‌ها

  • Promise<ZoomSettings>

    Chrome نسخه ۸۸ و بالاتر

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

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

goBack()

Promise Chrome 72+
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

goForward()

Promise Chrome 72+
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)
: Promise<void>

رفتن به صفحه بعدی، درصورت وجود.

پارامترها

  • tabId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

group()

Promise Chrome 88+
chrome.tabs.group(
  options: object,
  callback?: function,
)
: Promise<number>

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

پارامترها

  • گزینه‌ها

    شیء

    • createProperties

      شیء اختیاری

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

      • windowId

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

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

    • groupId

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

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

    • tabIds

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (groupId: number) => void

    • groupId

      شماره

      شناسه گروهی که زبانه‌ها به آن اضافه شده‌اند.

بازگشتی‌ها

  • Promise<number>

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

highlight()

قول
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

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

پارامترها

  • highlightInfo

    شیء

    • tabs

      number | number[]

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

    • windowId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (window: Window) => void

    • پنجره

      حاوی جزئیات مربوط به پنجره‌ای است که برگه‌های آن برجسته شده است.

بازگشتی‌ها

  • Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

insertCSS()

Promise &leq; MV2 از Chrome 91 منسوخ شده است
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

در «مانیفست نسخه ۳»، scripting.insertCSS جایگزین آن شده است.

CSS را به صفحه تزریق می‌کند. سبک‌های درج‌شده با این روش را می‌توان با scripting.removeCSS برداشت. برای جزئیات بیشتر، به بخش تزریق برنامه‌ای در سند دستورگان‌های محتوا مراجعه کنید.

پارامترها

  • tabId

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

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

  • جزئیات

    جزئیات نوشتار CSS برای درج. یا کد یا ویژگی فایل باید تنظیم شود، اما هر دو ممکن است به‌طور هم‌زمان تنظیم نشوند.

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    وقتی همه CSS درج شد، حل می‌شود.

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

move()

قول
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

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

پارامترها

  • tabIds

    number | number[]

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

  • moveProperties

    شیء

    • شاخص

      شماره

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

    • windowId

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

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

  • تماس برگشتی

    تابع اختیاری

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

    (tabs: Tab | Tab[]) => void

    • tabs

      Tab | Tab[]

      جزئیات مربوط به زبانه‌های منتقل‌شده.

بازگشتی‌ها

  • Promise<Tab | Tab[]>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

query()

قول
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

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

پارامترها

  • queryInfo

    شیء

    • فعال

      بولی اختیاری

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

    • audible

      بولی اختیاری

      Chrome نسخه ۴۵ به بالا

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

    • autoDiscardable

      بولی اختیاری

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

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

    • currentWindow

      بولی اختیاری

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

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

      بولی اختیاری

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

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

    • ثابت‌شده

      بولی اختیاری

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

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

    • groupId

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

      Chrome نسخه ۸۸ و بالاتر

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

    • برجسته‌شده

      بولی اختیاری

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

    • شاخص

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

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

    • lastFocusedWindow

      بولی اختیاری

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

    • بی‌صدا شد

      بولی اختیاری

      Chrome نسخه ۴۵ به بالا

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

    • پین شده

      بولی اختیاری

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

    • splitViewId

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

      Chrome نسخه ۱۴۰ به بالا

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

    • وضعیت

      TabStatus اختیاری

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

    • عنوان

      رشته اختیاری

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

    • نشانی وب

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

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

    • windowId

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

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

    • windowType

      WindowType اختیاری

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

  • تماس برگشتی

    تابع اختیاری

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

    (result: Tab[]) => void

    • نتیجه

      Tab[]

بازگشتی‌ها

  • Promise<Tab[]>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

reload()

قول
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabId

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

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

  • reloadProperties

    شیء اختیاری

    • bypassCache

      بولی اختیاری

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

remove()

قول
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabIds

    number | number[]

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

removeCSS()

Promise Chrome 87+ &leq; MV2 Deprecated since Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

در «مانیفست نسخه ۳»، scripting.removeCSS جایگزین آن شده است.

CSS را که قبلاً با فراخوانی scripting.insertCSS تزریق شده بود از صفحه برمی‌دارد.

پارامترها

  • tabId

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

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

  • جزئیات

    جزئیات نوشتار CSS برای برداشتن. یا کد یا ویژگی فایل باید تنظیم شود، اما هر دو ممکن است به‌طور هم‌زمان تنظیم نشوند.

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

    وقتی همه CSS برداشته شد، حل می‌شود.

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

sendMessage()

قول
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

پارامترها

  • tabId

    شماره

  • پیام

    همه

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

  • گزینه‌ها

    شیء اختیاری

    • documentId

      رشته اختیاری

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

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

    • frameId

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

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

  • تماس برگشتی

    تابع اختیاری

    Chrome نسخه ۹۹ و بالاتر

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

    (response: any) => void

    • پاسخ

      همه

      شیء پاسخ JSON که توسط گرداننده پیام ارسال شده است.

بازگشتی‌ها

  • Promise<any>

    Chrome نسخه ۹۹ و بالاتر

    Promise that resolves with the response from the content script. اگر هنگام اتصال به برگه مشخص‌شده خطایی رخ دهد، promise رد خواهد شد.

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

sendRequest()

Promise &leq; MV2 منسوخ‌شده
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

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

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

پارامترها

  • tabId

    شماره

  • درخواست کردن

    همه

  • تماس برگشتی

    تابع اختیاری

    Chrome نسخه ۹۹ و بالاتر

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

    (response: any) => void

    • پاسخ

      همه

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

بازگشتی‌ها

  • Promise<any>

    Chrome نسخه ۹۹ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

setZoom()

قول
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabId

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

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

  • zoomFactor

    شماره

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

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

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

setZoomSettings()

قول
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabId

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

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

  • zoomSettings

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    Chrome نسخه ۸۸ و بالاتر

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

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

ungroup()

Promise Chrome 88+
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

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

پارامترها

  • tabIds

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

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

unsplit()

Promise Chrome 155+
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

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

پارامترها

  • splitViewId

    شماره

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

  • تماس برگشتی

    تابع اختیاری

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

    () => void

بازگشتی‌ها

  • Promise<void>

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

update()

قول
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

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

پارامترها

  • tabId

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

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

  • updateProperties

    شیء

    • فعال

      بولی اختیاری

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

    • autoDiscardable

      بولی اختیاری

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

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

    • برجسته‌شده

      بولی اختیاری

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

    • بی‌صدا شد

      بولی اختیاری

      Chrome نسخه ۴۵ به بالا

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

    • openerTabId

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

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

    • پین شده

      بولی اختیاری

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

    • انتخاب‌شده

      بولی اختیاری

      منسوخ‌شده

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

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

    • نشانی وب

      رشته اختیاری

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

  • تماس برگشتی

    تابع اختیاری

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

    (tab?: Tab) => void

    • جهش

      برگه اختیاری

      جزئیات مربوط به برگه به‌روزرسانی‌شده. ویژگی‌های url، pendingUrl، title، و favIconUrl فقط درصورتی در شیء tabs.Tab گنجانده می‌شوند که افزونه اجازه "tabs" یا اجازه‌های میزبان را برای صفحه داشته باشد.

بازگشتی‌ها

  • Promise<Tab | undefined>

    Chrome نسخه ۸۸ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

رویدادها

onActivated

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

    (activeInfo: object) => void

    • activeInfo

      شیء

      • tabId

        شماره

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

      • windowId

        شماره

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

onActiveChanged

&leq; MV2 منسوخ‌شده
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 گوش دهید تا وقتی نشانی وب تنظیم شد یا زبانه به گروه زبانه اضافه شد، مطلع شوید.

پارامترها

  • تماس برگشتی

    عملکرد

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

    (tab: Tab) => void

onDetached

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

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

    • tabId

      شماره

    • detachInfo

      شیء

      • oldPosition

        شماره

      • oldWindowId

        شماره

onHighlightChanged

&leq; MV2 منسوخ‌شده
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

    (selectInfo: object) => void

    • selectInfo

      شیء

      • tabIds

        عدد[]

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

      • windowId

        شماره

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

onHighlighted

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

    (highlightInfo: object) => void

    • highlightInfo

      شیء

      • tabIds

        عدد[]

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

      • 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

        بولی

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

      • windowId

        شماره

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

onReplaced

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

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

    • addedTabId

      شماره

    • removedTabId

      شماره

onSelectionChanged

&leq; MV2 منسوخ‌شده
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 نسخه ۴۵ به بالا

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

      • autoDiscardable

        بولی اختیاری

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

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

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

        بولی اختیاری

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

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

      • favIconUrl

        رشته اختیاری

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

      • ثابت‌شده

        بولی اختیاری

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

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

      • groupId

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

        Chrome نسخه ۸۸ و بالاتر

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

      • mutedInfo

        MutedInfo اختیاری

        Chrome نسخه ۴۶ و بالاتر

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

      • پین شده

        بولی اختیاری

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

      • splitViewId

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

        Chrome نسخه ۱۴۰ به بالا

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

      • وضعیت

        TabStatus اختیاری

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

      • عنوان

        رشته اختیاری

        Chrome نسخه ۴۸ به بالا

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

      • نشانی وب

        رشته اختیاری

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

    • جهش

onZoomChange

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

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

پارامترها

  • تماس برگشتی

    عملکرد

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      شیء

      • newZoomFactor

        شماره

      • oldZoomFactor

        شماره

      • tabId

        شماره

      • zoomSettings