chrome.tabs

توضیحات

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

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

مجوزها

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

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

مجوز "برگه ها".

این اجازه دسترسی به فضای نام chrome.tabs را نمی دهد. درعوض، به افزونه‌ای توانایی فراخوانی tabs.query() در برابر چهار ویژگی حساس در نمونه‌های tabs.Tab می‌دهد: url ، pendingUrl ، title ، و favIconUrl .

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
مجوزهای میزبان

مجوزهای میزبان به یک برنامه افزودنی اجازه می‌دهد تا ویژگی‌های چهار tabs.Tab حساس را بخواند و پرس و جو کند. آنها همچنین می توانند با استفاده از روش هایی مانند tabs.captureVisibleTab() ، tabs.executeScript() ، tabs.insertCSS() ، و tabs.removeCSS() مستقیماً با برگه های منطبق تعامل داشته باشند.

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
مجوز "activeTab".

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

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

موارد استفاده کنید

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

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

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

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

برگه فعلی را دریافت کنید

این مثال نشان می‌دهد که چگونه کارمند سرویس یک برنامه افزودنی می‌تواند برگه فعال را از پنجره‌ای که در حال حاضر متمرکز شده است (یا پنجره‌ای که اخیراً متمرکز شده است، اگر هیچ پنجره‌ای در Chrome متمرکز نشده است) بازیابی کند. این معمولاً می تواند به عنوان برگه فعلی کاربر در نظر گرفته شود.

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

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

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

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

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

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

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

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

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

پیامی را به اسکریپت محتوای برگه انتخابی ارسال کنید

این مثال نشان می‌دهد که چگونه کارمند سرویس یک برنامه افزودنی می‌تواند با استفاده از tabs.sendMessage() با اسکریپت‌های محتوا در برگه‌های مرورگر خاص ارتباط برقرار کند.

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

نمونه های پسوند

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

انواع

MutedInfo

Chrome 46+

حالت خاموش بودن برگه و دلیل تغییر آخرین حالت.

خواص

  • شناسه extension

    رشته اختیاری

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

  • خاموش

    بولی

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

  • دلیل

    MutedInfoReason اختیاری است

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

MutedInfoReason

Chrome 46+

رویدادی که باعث تغییر حالت خاموش شد.

Enum

"کاربر"
یک عملکرد ورودی کاربر، وضعیت بی‌صدا را تنظیم می‌کند.

"گرفتن"
ضبط برگه شروع شد، که باعث تغییر حالت بی‌صدا شد.

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

Tab

خواص

  • فعال

    بولی

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

  • قابل شنیدن

    بولی اختیاری

    Chrome 45+

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

  • قابل حذف خودکار

    بولی

    Chrome 54+

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

  • دور انداخته شد

    بولی

    Chrome 54+

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

  • favIconUrl

    رشته اختیاری

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

  • منجمد شده

    بولی

    در انتظار

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

  • شناسه گروه

    شماره

    Chrome 88+

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

  • ارتفاع

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

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

  • برجسته شده است

    بولی

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

  • شناسه

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

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

  • ناشناس

    بولی

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

  • شاخص

    شماره

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

  • آخرین دسترسی

    شماره

    Chrome 121+

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

  • mutedInfo

    MutedInfo اختیاری است

    Chrome 46+

    حالت خاموش بودن برگه و دلیل تغییر آخرین حالت.

  • openerTabId

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

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

  • pendingUrl

    رشته اختیاری

    Chrome 79+

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

  • سنجاق شده

    بولی

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

  • انتخاب شده است

    بولی

    منسوخ شده است

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

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

  • sessionId

    رشته اختیاری

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

  • وضعیت

    TabStatus اختیاری است

    وضعیت بارگیری برگه

  • عنوان

    رشته اختیاری

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

  • آدرس اینترنتی

    رشته اختیاری

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

  • عرض

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

    عرض تب بر حسب پیکسل.

  • شناسه پنجره

    شماره

    شناسه پنجره حاوی برگه.

TabStatus

Chrome 44+

وضعیت بارگیری برگه

Enum

"تخلیه شده"

"بارگیری"

"کامل"

WindowType

Chrome 44+

نوع پنجره.

Enum

"عادی"

"پاپ آپ"

"پانل"

"برنامه"

"ابزارهای توسعه"

ZoomSettings

نحوه مدیریت تغییرات بزرگنمایی در یک برگه و در چه محدوده ای را مشخص می کند.

خواص

  • پیش فرض ZoomFactor

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

    Chrome 43+

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

  • حالت

    ZoomSettingsMode اختیاری است

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

  • دامنه

    ZoomSettingsScope اختیاری است

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

ZoomSettingsMode

Chrome 44+

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

Enum

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

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

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

ZoomSettingsScope

Chrome 44+

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

Enum

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

"در هر برگه"
تغییرات بزرگنمایی فقط در این تب اعمال می شود و تغییرات بزرگنمایی در سایر تب ها تاثیری بر بزرگنمایی این تب ندارد. همچنین، تغییرات زوم per-tab در ناوبری بازنشانی می شود. پیمایش در یک برگه همیشه صفحات را با فاکتورهای بزرگنمایی per-origin بارگیری می کند.

خواص

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+

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

ارزش

2

TAB_ID_NONE

Chrome 46+

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

ارزش

-1

TAB_INDEX_NONE

Chrome 123+

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

ارزش

-1

روش ها

captureVisibleTab()

قول بده
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

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

پارامترها

  • شناسه پنجره

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

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

  • گزینه ها

    ImageDetails اختیاری است

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (dataUrl: string) => void

    • dataUrl

      رشته

      URL داده ای که تصویری از ناحیه قابل مشاهده برگه گرفته شده را رمزگذاری می کند. ممکن است برای نمایش به ویژگی 'src' یک عنصر img HTML اختصاص داده شود.

برمی گرداند

  • قول<رشته>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

connect()

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

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

پارامترها

  • tabId

    شماره

  • connectInfo

    شی اختیاری

    • شناسه سند

      رشته اختیاری

      Chrome 106+

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

    • frameId

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

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

    • نام

      رشته اختیاری

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

برمی گرداند

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

create()

قول بده
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

یک برگه جدید ایجاد می کند.

پارامترها

  • createProperties

    شی

    • فعال

      بولی اختیاری

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

    • شاخص

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

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

    • openerTabId

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

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

    • سنجاق شده

      بولی اختیاری

      اینکه آیا برگه باید پین شود یا خیر. پیش فرض به false

    • انتخاب شده است

      بولی اختیاری

      منسوخ شده است

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

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

    • آدرس اینترنتی

      رشته اختیاری

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

    • شناسه پنجره

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab: Tab) => void

    • برگه

      برگه ایجاد شده

برمی گرداند

  • وعده< Tab >

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

detectLanguage()

قول بده
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (language: string) => void

    • زبان

      رشته

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

برمی گرداند

  • قول<رشته>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

discard()

Promise Chrome 54+
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab?: Tab) => void

    • برگه

      برگه اختیاری است

      برگه حذف شده، اگر با موفقیت کنار گذاشته شد. در غیر این صورت تعریف نشده است.

برمی گرداند

  • Promise< Tab | تعریف نشده>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

duplicate()

قول بده
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

یک برگه را کپی می کند.

پارامترها

  • tabId

    شماره

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab?: Tab) => void

    • برگه

      برگه اختیاری است

      جزئیات در مورد برگه تکراری. اگر مجوز "tabs" درخواست نشده باشد، شی tabs.Tab شامل url ، pendingUrl ، title و favIconUrl نیست.

برمی گرداند

  • Promise< Tab | تعریف نشده>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

executeScript()

Promise ≤ MV2 از Chrome 91 منسوخ شده است
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

با scripting.executeScript در Manifest V3 جایگزین شد.

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

پارامترها

  • tabId

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

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

  • جزئیات

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result?: any[]) => void

    • نتیجه

      هر[] اختیاری

      نتیجه فیلمنامه در هر فریم تزریق شده.

برمی گرداند

  • قول<هر[] | تعریف نشده>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

get()

قول بده
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

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

پارامترها

  • tabId

    شماره

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab: Tab) => void

برمی گرداند

  • وعده< Tab >

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getAllInWindow()

Promise ≤ MV2 منسوخ شده است
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

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

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

پارامترها

  • شناسه پنجره

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tabs: Tab[]) => void

برمی گرداند

  • وعده< برگه []>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getCurrent()

قول بده
chrome.tabs.getCurrent(
  callback?: function,
)

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

پارامترها

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab?: Tab) => void

    • برگه

      برگه اختیاری است

برمی گرداند

  • Promise< Tab | تعریف نشده>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getSelected()

Promise ≤ MV2 منسوخ شده است
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

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

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

پارامترها

  • شناسه پنجره

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab: Tab) => void

برمی گرداند

  • وعده< Tab >

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getZoom()

قول بده
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (zoomFactor: number) => void

    • zoomFactor

      شماره

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

برمی گرداند

  • قول <تعداد>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

getZoomSettings()

قول بده
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (zoomSettings: ZoomSettings) => void

    • تنظیمات زوم

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

برمی گرداند

  • قول < ZoomSettings >

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

goBack()

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

در صورت موجود بودن به صفحه قبلی برگردید.

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

goForward()

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

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

پارامترها

  • tabId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

group()

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

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

پارامترها

  • گزینه ها

    شی

    • createProperties

      شی اختیاری

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

      • شناسه پنجره

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

        پنجره گروه جدید به طور پیش فرض برای پنجره فعلی.

    • شناسه گروه

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

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

    • tabIds

      شماره | [شماره، ...شماره[]]

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (groupId: number) => void

    • شناسه گروه

      شماره

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

برمی گرداند

  • قول <تعداد>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

highlight()

قول بده
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

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

پارامترها

  • highlightInfo

    شی

    • زبانه ها

      شماره | شماره[]

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

    • شناسه پنجره

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

      پنجره ای که شامل برگه ها است.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (window: Window) => void

    • پنجره

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

برمی گرداند

  • Promise< windows.Window >

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

insertCSS()

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

با scripting.insertCSS در Manifest V3 جایگزین شد.

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

پارامترها

  • tabId

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

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

  • جزئیات

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

move()

قول بده
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

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

پارامترها

  • tabIds

    شماره | شماره[]

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

  • moveProperties

    شی

    • شاخص

      شماره

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

    • شناسه پنجره

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

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

    • زبانه ها

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

برمی گرداند

  • Promise< Tab | برگه []>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

query()

قول بده
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

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

پارامترها

  • queryInfo

    شی

    • فعال

      بولی اختیاری

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

    • قابل شنیدن

      بولی اختیاری

      Chrome 45+

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

    • قابل حذف خودکار

      بولی اختیاری

      Chrome 54+

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

    • پنجره جاری

      بولی اختیاری

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

    • دور انداخته شد

      بولی اختیاری

      Chrome 54+

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

    • منجمد شده

      بولی اختیاری

      در انتظار

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

    • شناسه گروه

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

      Chrome 88+

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

    • برجسته شده است

      بولی اختیاری

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

    • شاخص

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

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

    • lastFocusedWindow

      بولی اختیاری

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

    • خاموش

      بولی اختیاری

      Chrome 45+

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

    • سنجاق شده

      بولی اختیاری

      اینکه آیا برگه ها پین شده باشند.

    • وضعیت

      TabStatus اختیاری است

      وضعیت بارگیری برگه

    • عنوان

      رشته اختیاری

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

    • آدرس اینترنتی

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

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

    • شناسه پنجره

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

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

    • نوع پنجره

      WindowType اختیاری است

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (result: Tab[]) => void

برمی گرداند

  • وعده< برگه []>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

reload()

قول بده
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

یک برگه را دوباره بارگیری کنید.

پارامترها

  • tabId

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

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

  • reloadProperties

    شی اختیاری

    • bypasscache

      بولی اختیاری

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

remove()

قول بده
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

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

پارامترها

  • tabIds

    شماره | شماره[]

    شناسه برگه یا لیست شناسه های برگه برای بستن.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

removeCSS()

Promise Chrome 87+ ≤ MV2 از Chrome 91 منسوخ شده است
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

با scripting.removeCSS در Manifest V3 جایگزین شد.

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

پارامترها

  • tabId

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

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

sendMessage()

قول بده
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

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

پارامترها

  • tabId

    شماره

  • پیام

    هر

    پیام برای ارسال. این پیام باید یک شی با قابلیت JSON-ifiable باشد.

  • گزینه ها

    شی اختیاری

    • شناسه سند

      رشته اختیاری

      Chrome 106+

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

    • frameId

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

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

  • پاسخ به تماس

    عملکرد اختیاری

    Chrome 99+

    پارامتر callback به نظر می رسد:

    (response: any) => void

    • پاسخ

      هر

      شی پاسخ JSON ارسال شده توسط کنترل کننده پیام. اگر هنگام اتصال به برگه مشخص شده خطایی رخ دهد، callback بدون آرگومان فراخوانی می شود و runtime.lastError روی پیام خطا تنظیم می شود.

برمی گرداند

  • قول <هر>

    Chrome 99+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

sendRequest()

Promise ≤ MV2 منسوخ شده است
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

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

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

پارامترها

  • tabId

    شماره

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

    هر

  • پاسخ به تماس

    عملکرد اختیاری

    Chrome 99+

    پارامتر callback به نظر می رسد:

    (response: any) => void

    • پاسخ

      هر

      شی پاسخ JSON توسط کنترل کننده درخواست ارسال شده است. اگر هنگام اتصال به برگه مشخص شده خطایی رخ دهد، callback بدون آرگومان فراخوانی می شود و runtime.lastError روی پیام خطا تنظیم می شود.

برمی گرداند

  • قول <هر>

    Chrome 99+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setZoom()

قول بده
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • zoomFactor

    شماره

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

setZoomSettings()

قول بده
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • تنظیمات زوم

    نحوه انجام تغییرات بزرگنمایی و در چه محدوده ای را مشخص می کند.

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

ungroup()

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

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

پارامترها

  • tabIds

    شماره | [شماره، ...شماره[]]

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

update()

قول بده
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

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

پارامترها

  • tabId

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

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

  • updateProperties

    شی

    • فعال

      بولی اختیاری

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

    • قابل حذف خودکار

      بولی اختیاری

      Chrome 54+

      در صورت کم بودن منابع، این برگه باید به طور خودکار توسط مرورگر حذف شود یا خیر.

    • برجسته شده است

      بولی اختیاری

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

    • خاموش

      بولی اختیاری

      Chrome 45+

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

    • openerTabId

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

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

    • سنجاق شده

      بولی اختیاری

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

    • انتخاب شده است

      بولی اختیاری

      منسوخ شده است

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

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

    • آدرس اینترنتی

      رشته اختیاری

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

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (tab?: Tab) => void

    • برگه

      برگه اختیاری است

      جزئیات مربوط به برگه به ​​روز شده اگر مجوز "tabs" درخواست نشده باشد، شی tabs.Tab شامل url ، pendingUrl ، title و favIconUrl نیست.

برمی گرداند

  • Promise< Tab | تعریف نشده>

    Chrome 88+

    Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.

رویدادها

onActivated

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (activeInfo: object) => void

    • activeInfo

      شی

      • tabId

        شماره

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

      • شناسه پنجره

        شماره

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

onActiveChanged

≤ MV2 منسوخ شده است
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • اطلاعات را انتخاب کنید

      شی

      • شناسه پنجره

        شماره

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

onAttached

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

هنگامی که یک برگه به ​​یک پنجره متصل می شود، فعال می شود. به عنوان مثال، به این دلیل که بین پنجره ها جابجا شده است.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • پیوست اطلاعات

      شی

      • موقعیت جدید

        شماره

      • newWindowId

        شماره

onCreated

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (tab: Tab) => void

onDetached

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • جدا کردن اطلاعات

      شی

      • موقعیت قدیمی

        شماره

      • oldWindowId

        شماره

onHighlightChanged

≤ MV2 منسوخ شده است
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (selectInfo: object) => void

    • اطلاعات را انتخاب کنید

      شی

      • tabIds

        شماره[]

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

      • شناسه پنجره

        شماره

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

onHighlighted

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (highlightInfo: object) => void

    • highlightInfo

      شی

      • tabIds

        شماره[]

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

      • شناسه پنجره

        شماره

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

onMoved

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • moveInfo

      شی

      • از فهرست

        شماره

      • به ایندکس

        شماره

      • شناسه پنجره

        شماره

onRemoved

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • removeInfo

      شی

      • در حال بسته شدن پنجره است

        بولی

        درست است زمانی که برگه بسته شد زیرا پنجره والد آن بسته بود.

      • شناسه پنجره

        شماره

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

onReplaced

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

هنگامی که یک برگه به ​​دلیل اجرای اولیه یا فوری جایگزین می شود، فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • AddTabId

      شماره

    • removeTabId

      شماره

onSelectionChanged

≤ MV2 منسوخ شده است
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

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

هنگامی که برگه انتخاب شده در یک پنجره تغییر می کند فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • اطلاعات را انتخاب کنید

      شی

      • شناسه پنجره

        شماره

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

onUpdated

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

هنگامی که یک برگه به ​​روز می شود فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

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

    • tabId

      شماره

    • تغییر اطلاعات

      شی

      • قابل شنیدن

        بولی اختیاری

        Chrome 45+

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

      • قابل حذف خودکار

        بولی اختیاری

        Chrome 54+

        حالت جدید برگه با قابلیت حذف خودکار.

      • دور انداخته شد

        بولی اختیاری

        Chrome 54+

        حالت حذف شده جدید برگه.

      • favIconUrl

        رشته اختیاری

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

      • منجمد شده

        بولی اختیاری

        در انتظار

        حالت منجمد جدید برگه.

      • شناسه گروه

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

        Chrome 88+

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

      • mutedInfo

        MutedInfo اختیاری است

        Chrome 46+

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

      • سنجاق شده

        بولی اختیاری

        حالت پین شده جدید برگه.

      • وضعیت

        TabStatus اختیاری است

        وضعیت بارگیری برگه

      • عنوان

        رشته اختیاری

        Chrome 48+

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

      • آدرس اینترنتی

        رشته اختیاری

        آدرس برگه اگر تغییر کرده باشد.

    • برگه

onZoomChange

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

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

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      شی

      • newZoomFactor

        شماره

      • oldZoomFactor

        شماره

      • tabId

        شماره

      • تنظیمات زوم